zoukankan      html  css  js  c++  java
  • EntityFramework 性能优化

    1. 查询时如果不缓存数据,可以加快加载速度

                //连接数据库
                TestDbContext db = new TestDbContext();
                //使用 AsNoTracking() 方法后将不会在 DbContext 中缓存实体数据
                var testAList = db.TestAs.AsNoTracking().ToList();
                //枚举
                foreach(var testA in testAList)
                {
                    Console.WriteLine(String.Format("ID:{0},Count:{1},Name:{2},Remarks:{3},DateTime:{4}", testA.ID, testA.Count, testA.Name, testA.Remarks, testA.DateTime));
                }

    2. 修改实体时无需事先查询再修改,并且只修改需要的字段

                //新建一个实体对象,其中,ID值必须为数据库中已存在的值,否则会引发异常,其它的属性只需要为要修改的属性赋值即可
                var testA = new TestA()
                {
                    ID = 1,
                    Name = "Modify",
                };
                //连接数据库
                TestDbContext db = new TestDbContext();
                //将实体对象附加到对应的集合中
                db.TestAs.Attach(testA);
                //将实体对象中需要修改的属性的修改标识设为true
                db.Entry(testA).Property("Name").IsModified = true;
                //保存修改
                db.SaveChanges();
  • 相关阅读:
    三十二、恢复单库单表
    三十一、XBK备份
    三十、分库分表备份脚本
    二十九、mysqldump恢复案例
    二十八、mysqldump备份
    二十七、备份介绍
    二十六:慢日志分析
    二十五、二进制日志之GTID模式
    Trie树
    AC自动机
  • 原文地址:https://www.cnblogs.com/gmcn/p/6195164.html
Copyright © 2011-2022 走看看