首页 > 其他 > 详细

12.EF

时间:2020-08-07 12:40:06      阅读:93      评论:0      收藏:0      [点我收藏+]

一般来说,主外键表,主表有一个子表的集合,导航属性

子表里面还有个主表的实例,引用属性

1.默认情况下,导航属性是延迟查询;条件是virtual属性+默认配置

2、关闭延迟查询,子表数据就没了

dbContext.Configuration.LazyLoadingEnabled=false;//关闭延迟查询

3.预先加载 Include 查询主表时就把子表数据一次性查出来

var companyList=dbContext.Set<Company>().include("User").Where(x=>x.Id>20);

4.关闭延迟查询后,如果需要子表数据,可以显示加载

dbContext.Entry<Company>(company).Collection(x=>x.User).Load();

 

非主外键关系也可以用导航属性

 

数据插入:A表--B表(包含A的ID)--ID是自增的

一次savechange,如果是主外键关系,可以自动使用自增ID;如果不是,就用不到

 

事务:1.SaveChange

      2.TransactionScope完成一个context的多次SaveChange

    3.TransactionScope完成不同context实例的事务

12.EF

原文:https://www.cnblogs.com/bjhblogs/p/13451781.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!