摘要: 记录和拦截数据库命令 这一节介绍EF6怎么记录和拦截发送给数据库的查询和操作命令。 1.记录EF发送给数据库命令(DbContext.Database.Log) 以前给了查看EF发送给数据库的命令我们需要借助数据库的追踪工具或者第三方追踪工具,现在EF6中提供了DbContext.Database. 阅读全文
posted @ 2018-09-13 18:04 捞月亮的猴子 阅读(2828) 评论(0) 推荐(3)
摘要: EF DbFirst模式中的枚举类型使用 这一节介绍EF DbFirst模式中的Enum(枚举类型),CodeFirst模式中的Enum会在以后的EF CoreFirst系列中介绍。EF5中添加了对Enum的支持。现在Enum支持的数据类型有:Int16,int32,int63,byte,sbyte 阅读全文
posted @ 2018-09-13 16:10 捞月亮的猴子 阅读(2892) 评论(5) 推荐(2)
摘要: 这一节介绍DbContext追踪实体的变化。EF支持DbContext在其生命周期中自动追踪加载的实体。我们可以通过DbChangeTracker类获取DbContext追踪的所有实体的变化。 注意每个实体必须有主键值才能被上下文追踪。概念模型中的实例如果没有主键值,DbContext不会对其执行追 阅读全文
posted @ 2018-09-13 15:31 捞月亮的猴子 阅读(3084) 评论(0) 推荐(2)
摘要: EF6中DbFirst模式下使用存储过程 我们已经知道EF可以将L2E或Entity SQL的查询语句自动转换成SQL命令,也可以根据实体的状态自动生成Insert/update/delete的Sql命令。这节介绍EF中使用预先定义的存储过程对一张或者多种表进行CURD操作。 EF API会新建一个 阅读全文
posted @ 2018-09-13 14:40 捞月亮的猴子 阅读(3334) 评论(0) 推荐(2)
摘要: EF中的高并发 这里只介绍EF6中database-first开发方案的高并发解决方案,code-first开发方案中的高并发会在以后的EF CodeFirst系列中介绍。 EF默认支持乐观并发:我们从数据库加载了一条数据,这是有人修改了这条数据,而我们手中用的还是旧数据,这就出现了脏读,这个时候我 阅读全文
posted @ 2018-09-13 10:31 捞月亮的猴子 阅读(5389) 评论(0) 推荐(5)
摘要: EF6添加了批量添加/删除实体集合的方法,我们可以使用DbSet.AddRange()方法将实体集合添加到上下文,同时实体集合中的每一个实体的状态都标记为Added,在执行SaveChange()方法时为每个实体执行Insert操作;同样的我们使用DbSet.RemoveRange()方法将集合中的 阅读全文
posted @ 2018-09-13 08:53 捞月亮的猴子 阅读(7981) 评论(4) 推荐(4)