草庐IT

AsNoTracking

全部标签

c# - 使用导航属性加载实体 AsNoTracking(),而不指定包含

我想知道EntityFramework是否可以实现以下场景:我想用选项AsNoTracking加载几个表,因为它们都像用户无法更改的静态表。那些表也恰好是其他人的导航属性。到目前为止,我依赖EntityFramework的AutoMapping功能,没有使用.Include()或LazyLoading功能。所以代替:varresult=fromxincontext.TestTable.Include("ChildTestTable")selectx;我是这样使用它的:context.ChildTestTable.Load();context.TestTable.Load();varre

c# - Entity Framework : difference between Detach and AsNoTracking

我的目标是复制一个现有的实体,稍微修改它,然后插入修改后的版本。我尝试了两种似乎都有效的不同方法:varthing=context.Things.Where(x=>x.SomeID==someid).AsNoTracking().Single();thing.AnotherID=1234;context.Things.AddObject(thing);context.SaveChanges();varthing=context.Things.Where(x=>x.SomeID==someid).Single();context.Detach(thing);thing.AnotherID

c# - AsNoTracking 使用 LINQ 查询语法而不是方法语法

我有兴趣在我的LINQ选择查询中使用AsNoTracking来提高性能。我将EntityFramework5与CodeFirst结合使用。但是,我的所有查询都是使用LINQ查询语法编写的,并且所有AsNoTracking示例都是使用Method语法显示的。我知道AsNoTracking是为Method语法创建的,但如何使用Query语法实现相同的目的? 最佳答案 您将AsNoTracking()应用于DbSet:varresult=(frompersoninctx.People.AsNoTracking()selectperson)

c# - 在 Entity Framework 中调用 AsNoTracking 的位置是否重要

编写EntityFramework查询时在何处调用AsNoTracking方法是否重要?例如varmatchingCustomers=context.Customers.AsNoTracking().Where(n=>n.city=="Milan").Skip(50).Take(100).OrderBy(n=>n.Name).ToList();varmatchingCustomers=context.Customers.Where(n=>n.city=="Milan").AsNoTracking().Skip(50).Take(100).OrderBy(n=>n.Name).ToLis

c# - 如何结合 Find() 和 AsNoTracking()?

如何在查询EF上下文时将Find()与AsNoTracking()结合使用,以防止跟踪返回的对象。这是我做不到的_context.Set().AsNoTracking().Find(id);我该怎么做?我使用的是EF版本6。注意:我不想使用SingleOrDefault()或Where。我不能,因为参数Id是通用的,它是一个struct,在这种情况下我不能为泛型应用运算符==。 最佳答案 因此,除了使用AsNoTracking(),您可以做的是Find(),然后将其从上下文中分离出来。我相信除了跟踪实体的额外开销之外,这会为您提供与

c# - 模拟 AsNoTracking Entity Framework

如何模拟AsNoTracking方法?在下面的示例中,DbContext已注入(inject)服务类。如果我从GetOrderedProducts方法中删除AsNoTracking扩展方法,它工作正常,但AsNoTracking测试失败,因为它返回null。我也尝试模拟AsNoTracking以返回正确的值,但它没有用。publicinterfaceIUnitOfWork{IDbSetSet()whereTEntity:class;intSaveAllChanges();}publicclassEntites:DbContext,IUnitOfWork{publicvirtualDbS

c# - 模拟 AsNoTracking Entity Framework

如何模拟AsNoTracking方法?在下面的示例中,DbContext已注入(inject)服务类。如果我从GetOrderedProducts方法中删除AsNoTracking扩展方法,它工作正常,但AsNoTracking测试失败,因为它返回null。我也尝试模拟AsNoTracking以返回正确的值,但它没有用。publicinterfaceIUnitOfWork{IDbSetSet()whereTEntity:class;intSaveAllChanges();}publicclassEntites:DbContext,IUnitOfWork{publicvirtualDbS

c# - .AsNoTracking() 有什么区别?

我有一个关于.AsNoTracking()扩展的问题,因为这是全新的而且非常困惑。我正在为网站使用按请求上下文。我的很多实体都没有改变,所以不需要跟踪,但我有以下场景,我不确定数据库中有什么,甚至不确定在这种情况下它是否有所作为。这个例子是我目前正在做的:context.Set().AsNoTracking()//Step1)Getusercontext.Set()//Step2)Updateuser这与上面相同,但从步骤1中删除了.AsNoTracking():context.Set();//Step1)Getusercontext.Set()//Step2)Updateuser步骤