zoukankan      html  css  js  c++  java
  • 禁用更改的自动检测

    使用大多数 POCO 实体时,确定实体的更改方式 (,因此需要将更新发送到数据库) 由检测更改算法处理。 检测更改的工作方式是检测实体的当前属性值与在查询或附加实体时存储在快照中的原始属性值之间的差异。 本主题所介绍的方法同样适用于查询使用 Code First 和 EF 设计器创建的模型。

    默认情况下,在调用以下方法时,实体框架自动执行检测更改:

    • DbSet.Find
    • DbSet
    • DbSet
    • DbSet. AddRange
    • DbSet
    • DbSet. RemoveRange
    • DbSet
    • DbContext.SaveChanges
    • DbContext. GetValidationErrors
    • DbContext.Entry
    • DbChangeTracker

    禁用更改的自动检测

    using (var context = new BloggingContext())
    {
        try
        {
            context.Configuration.AutoDetectChangesEnabled = false;
    
            // Make many calls in a loop
            foreach (var blog in aLotOfBlogs)
            {
                context.Blogs.Add(blog);
            }
        }
        finally
        {
            context.Configuration.AutoDetectChangesEnabled = true;
        }
    }

    如果正在跟踪上下文中的大量实体,并在循环中多次调用其中一种方法,则可以通过在循环的持续时间内关闭更改检测来显著提高性能

  • 相关阅读:
    diff命令
    vsftp建立虚拟用户不同目录分配不同权限操作步骤详解
    vsftpd配置文件详解
    vsftp 详解鸟哥版
    vsftp 虚拟用户
    xfs文件系统磁盘配额
    磁盘配额
    磁盘配额实例详解
    Linux 文件服务---------- nfs Server
    [转]Win7 UAC的安全、兼容及权限
  • 原文地址:https://www.cnblogs.com/cxxtreasure/p/14281697.html
Copyright © 2011-2022 走看看