• 12.EF


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

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

    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实例的事务

    context就相当于一个数据库连接,和数据库交互的上下文

    1.一次请求一个context

    2.不能一个进程就一个context实例

    3.多线程最好多个实例

    4.用完尽快释放

  • 相关阅读:
    ResourceManager总体架构
    Yarn聚合日志
    Hive参数配置方法
    Hive任务日志及日志调试
    bugku web web3
    bugku web 矛盾
    bugku web web基础
    Bugku 杂项 眼见非实
    Bugku 杂项 啊哒
    JarvisOJ Basic Help!!
  • 原文地址:https://www.cnblogs.com/bjhblogs/p/13451781.html
Copyright © 2020-2023  润新知