AsNoTracking()非跟踪数据 查询

Posted moonstars

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AsNoTracking()非跟踪数据 查询相关的知识,希望对你有一定的参考价值。

刚开始学习使用EF ,做项目时需要查询数据将数据显示在datagrid中,使用如下方法:

技术图片

 

 query是IQueryable的

在一次看别人写的代码的时候,发现了AsNoTracking()这个方法,并进行了了解

针对查询,在一些情况下,我们只需要返回一个只读的数据就可以,并不会对数据记录进行任何的修改。这种时候不希望Entity Framework进行不必要的状态变动跟踪,

可以使用Entity Framework的AsNoTracking方法来查询返回不带变动跟踪的查询结果。

由于是无变动跟踪,所以对返回的数据的没有进行任何修改,在SaveChanges()时,都不会提交到数据库中。

技术图片

 上面是使用AsNoTracking()方法,会给我们带来好的性能

 注:使用AsNoTracking需要添加引用命名空间using System.Data.Entity。

以上是关于AsNoTracking()非跟踪数据 查询的主要内容,如果未能解决你的问题,请参考以下文章

EF LINQ 查询性能优化

ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。

.AsNoTracking() 有啥区别?

EF 的 霸气配置,秒杀一切

如何使用 EF Core,以确保我们已经掌握了

如何强制实体框架始终从数据库中获取更新数据?