FluentData入门(3)

2025-07-20

3: .QuerySingle();

4: product.Name = \;

5:

6: int rowsAffected = Context.Update(\, product)

7: .AutoMap(x => x.ProductId)

8: .Where(x => x.ProductId)

9: .Execute();

将ProductId作为AutoMap方法的参数,是要指明ProductId不需要进行映射,因为它不需要被更新。

Insert and update - common Fill method

1: var product = new Product();

2: product.Name = \;

3: product.CategoryId = 1;

4:

5: var insertBuilder = Context.Insert(\, product).Fill(FillBuilder);

6:

7: var updateBuilder = Context.Update(\, product).Fill(FillBuilder);

8:

9: public void FillBuilder(IInsertUpdateBuilder builder)

10: {

11: builder.Column(x => x.Name);

12: builder.Column(x => x.CategoryId);

13: }

14:

15: Delete

删除数据 使用SQL语句:

1: int rowsAffected = Context.Sql(@\

2: where ProductId = 1\

3: .Execute();

使用builder:

1: int rowsAffected = Context.Delete(\)

2: .Where(\, 1)

3: .Execute();

FluentData入门(六)--存储过程和事务

存储过程 使用SQL语句: 1: var rowsAffected = Context.Sql(\)

2: .CommandType(DbCommandTypes.StoredProcedure)

3: .Parameter(\, 1)

4: .Parameter(\, \)

5: .Execute();

使用builder:

1: var rowsAffected = Context.StoredProcedure(\)

2: .Parameter(\, \)

3: .Parameter(\, 1).Execute();

使用builder,并且自动映射

1: var product = Context.Sql(\)

2: .QuerySingle();

3:

4: product.Name = \;

5:

6: var rowsAffected = Context.StoredProcedure(\, product)

7: .AutoMap(x => x.CategoryId).Execute();

使用Lambda表达式

1: var product = Context.Sql(\)

2: .QuerySingle();

3: product.Name = \;

4:

5: var rowsAffected = Context.StoredProcedure(\, product)

6: .Parameter(x => x.ProductId)

7: .Parameter(x => x.Name).Execute();

事务

FluentData 支持事务。如果使用事务,最好使用using语句将代码包起来,已保证连接会被关闭。默认的,如果查询过程发生异常,如事务不会被提交,会进行回滚。

1: using (var context = Context.UseTransaction(true))

2: {

3: context.Sql(\)

4: .Parameters(\, 1)

5: .Execute();

6:

7: context.Sql(\)

8: .Parameters(\, 2)

9: .Execute();

10:

11: context.Commit();

12: }

13:

实体工厂

实体工厂负责在自动映射的时候,生成POCO实例。如果需要生成复杂的实例,可以自定义实体工厂:

1: List products = Context.EntityFactory(new CustomEntityFactory())

2: .Sql(\)

3: .QueryMany();

4:

5: public class CustomEntityFactory : IEntityFactory

6: {

7: public virtual object Resolve(Type type)

8: {

9: return Activator.CreateInstance(type);

10: }

11: }


FluentData入门(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北京东路的日子串词

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219