博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EntityFramework 性能优化
阅读量:5049 次
发布时间:2019-06-12

本文共 988 字,大约阅读时间需要 3 分钟。

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();

 

转载于:https://www.cnblogs.com/gmcn/p/6195164.html

你可能感兴趣的文章
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
机器学些技法(9)--Decision Tree
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>
吴裕雄 python 机器学习——数据预处理嵌入式特征选择
查看>>