MergeOption.NoTracking的使用】的更多相关文章

前两天项目维护出现一个bug,报错信息是提交出错:AcceptChanges 无法继续,因为该对象的键值与 ObjectStateManager 中的另一个对象冲突.请在调用 AcceptChanges 之前,确保键值是唯一的.排查了一下原因是因为服务端数据更新的时候,对于要更新的bo,在查询的时候是这么写的            var dBPartsboxBillLis = this.ObjectContext.PartsboxBillLists.                      …
通过数据绑定修改数据 "实体框架"提供了与数据库的双向通信通道.前面已经讲述了如何使用"实体框架"获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库.  26.2.1 更新现有数据 使用一个 ObjectContext 对象获取数据时,根据数据创建的对象位于应用程序的内存缓存中. 为了更改缓存中的对象的值,采取的方式和修改任何普通对象中的值一样--设置它们的 属性.然而,更新内存中的对象不会更新数据库.要在数据库中反映出这个改动(换言之, 将改动&quo…
Performance Considerations for Entity Framework 5 By David Obando, Eric Dettinger and others Published: April 2012 1. Introduction Object-Relational Mapping frameworks are a convenient way to provide an abstraction for data access in an object-orient…
在上一篇中,我们从理论和概念上详细的了解了LINQ的第二种架构“解释查询”.在这接下来的二个篇章中,我们将使用LINQ to SQL和Entity Framework来实践“解释查询”,学习这些技术的关键特性.在本系列文章中,我不准备事无巨细的讨论LINQ to SQL和Entity Framework的方方面面,毕竟那样需要太多的篇幅,也会让我们从LINQ上面转移注意力,况且,园子里也有不少介绍LINQ to SQL和Entity Framework的好文章.我们在此关注的是LINQ to S…
首先看一下采用MODEL FIRST的方式设计的实体模型对象关系图: 注意:EntityOne中有导航属性:EntityTwo 在如下代码中的几种情况进行新增操作,均会报错,新增都不会成功: static void Main(string[] args) { Model1Container context = new Model1Container(); //第一种情况:EntityOne有导航属性EntityTwo ,新增时必需同时指定新增的EntityTwo ,否则报错:“Model1Con…
我们在使用Entity Framework进行CRUD时,为了提升查询效率,一般均会启动NoTracking,即不追踪变化,设置代码如下: //这是DB First模式下设置方法: aTestEntities db = new aTestEntities(); db.Companies.MergeOption = MergeOption.NoTracking; //这是CODE First及Model First模式下设置方法: aTestEntities db = new aTestEntit…
http://www.cnblogs.com/xlovey/archive/2011/01/03/1924800.html ADO.NET 实体框架概述 新版本中的 ADO.NET 以新实体框架为特色.它使开发人员可以通过对象模型(而不是逻辑/关系数据模型)专注于数据.实体框架有助于将逻辑数据架构抽象为概念模型,并且允许以多种方式通过对象服务和名为“EntityClient”的新数据提供程序与概念模型交互. 实体框架使用概念层(ConceptualModels).映射层(Mappings)和逻辑…
本节,我们将介绍一些改善EF代码的相关方法,如NoTracking,GetObjectByKey, Include等. > MergeOption.NoTracking 当我们只需要读取某些数据而不需要删除.更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly).当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返回,它们会被自动设置为null.因此,使用NoTracking可以提升查询的性能.示例…
ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按顺序构造等效于 Entity SQL 的查询命令.下面是 ObjectQuery 的查询生成器方法以及等效的 Entity SQL 语句:Distinct,Except,GroupBy,Intersect,OfType,OrderBy,Select,SelectValue,Skip,Top,Unio…
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.edmx)3>. 控件台代码 static void Main(string[] args) { // 创建一个网关接口,TestData是数据库名 TestDataEntities td = new TestDataEntities(); // 创建一个实体对象,Student是表映射过…