zoukankan      html  css  js  c++  java
  • 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.用完尽快释放

  • 相关阅读:
    STL
    Makefile
    配置pyqt5环境 for python3.4 on Linux Mint 17.1
    SELinux Policy Macros
    python爬虫
    python常用模块
    python中if __name__ == '__main__':
    Centos 7 .Net core后台守护进程Supervisor配置
    阅读Google Protocol Buffers 指南,整理pb语法
    Google Protocol Buffers 入门
  • 原文地址:https://www.cnblogs.com/bjhblogs/p/13451781.html
Copyright © 2011-2022 走看看