ORM框架高级应用
-
处理数据库映射的主键和表明的变化
![]()
-
处理数据表的结构变化
![]()
-
在数据库修改的时候必须是增加数据跟踪,或者是先查询出来,因为在context上修改的时候需要知道主键,在不知道上下文是什么的情况下没法进行修改
![]()
![]()
-
只更新一个属性
![]()
-
context生命周期
1.一次性保存全部变化,根据业务判断使用context是否要使用同一个,同一个context使用同一个事务![]()
2.asNoTraching()表示在执行数据库sql的时候不进行本地缓存
在Find()的时候还会重新调用缓存进行数据的查找![]()
3.处理带有外键关联的两表或者是多表的时候进行处理的逻辑(导航属性)实体上就是在主表上加外键,并加上子表List -
![]()
4.添加主从数据![]()
5.使用事务添加数据
![]()
同一个context走同一个事务
![]()
同一个事务不同context
![]()
非级联删除(首先从数据库获取数据,保存到缓冲当中,然后在缓存中将数据删除,因为使用Remove删除数据,相当于在缓存中将数据删除了,Company中的Users数据已经被删除,此时再进行context的提交才能将数据删除掉)
![]()
级联删除(1.首先在数据库中将数据中将子表的外键设置成要删除的状态,2.在删除主表的时候就会自动将数据删除)不用EF中的属性
![]()















浙公网安备 33010602011771号