草庐IT

Entity-Framework

全部标签

c# - 多个添加的实体可能具有相同的主键

这是我的3个实体模型:Route、Location和LocationInRoute。以下方法失败并在提交时出现异常:publicstaticRouteInsertRouteIfNotExists(GuidcompanyId,IListLocation>locations){//LooponlocationsandinsertitwithoutcommitInsertLocations(companyId,routesOrLocations);RouteRepositoryrouteRep=newRouteRepository();Routeroute=routeRep.FindRout

c# - Entity Framework 中的 POCO 是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚开始学习POCO,但是我不太了解它的用法和优势。甚至StackOverflow的以下链接也没有帮助我。whatisEntityFrameworkwithPOCO谁能用一个简单的例子解释一下POCO的用法?

c# - Entity Framework 中的 POCO 是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚开始学习POCO,但是我不太了解它的用法和优势。甚至StackOverflow的以下链接也没有帮助我。whatisEntityFrameworkwithPOCO谁能用一个简单的例子解释一下POCO的用法?

c# - 为什么 Contains() 运算符会如此显着地降低 Entity Framework 的性能?

更新3:根据thisannouncement,这已由EF团队在EF6alpha2中解决。更新2:我提出了解决此问题的建议。投票给它,gohere.考虑一个带有一个非常简单的表的SQL数据库。CREATETABLEMain(IdINTPRIMARYKEY)我用10,000条记录填充表。WITHNumbersAS(SELECT1ASIdUNIONALLSELECTId+1ASIdFROMNumbersWHEREId我为表构建了一个EF模型并在LINQPad中运行以下查询(我使用的是“C#语句”模式,因此LINQPad不会自动创建转储)。varrows=Main.ToArray();执行时间

c# - 为什么 Contains() 运算符会如此显着地降低 Entity Framework 的性能?

更新3:根据thisannouncement,这已由EF团队在EF6alpha2中解决。更新2:我提出了解决此问题的建议。投票给它,gohere.考虑一个带有一个非常简单的表的SQL数据库。CREATETABLEMain(IdINTPRIMARYKEY)我用10,000条记录填充表。WITHNumbersAS(SELECT1ASIdUNIONALLSELECTId+1ASIdFROMNumbersWHEREId我为表构建了一个EF模型并在LINQPad中运行以下查询(我使用的是“C#语句”模式,因此LINQPad不会自动创建转储)。varrows=Main.ToArray();执行时间

c# - 与 ObjectContext 相比,为什么在 EF 4.1 中插入实体这么慢?

基本上,我在一个事务中插入35000个对象:using(varuow=newMyContext()){for(inti=1;i这需要永远!如果我使用基础ObjectContext(通过使用IObjectAdapter),它仍然很慢,但需要大约20秒。看起来像DbSet正在做一些线性搜索,这需要大量的时间...还有其他人看到这个问题吗? 最佳答案 正如Ladislav在评论中指出的那样,您需要禁用自动更改检测以提高性能:context.Configuration.AutoDetectChangesEnabled=false;此更改检测

c# - 与 ObjectContext 相比,为什么在 EF 4.1 中插入实体这么慢?

基本上,我在一个事务中插入35000个对象:using(varuow=newMyContext()){for(inti=1;i这需要永远!如果我使用基础ObjectContext(通过使用IObjectAdapter),它仍然很慢,但需要大约20秒。看起来像DbSet正在做一些线性搜索,这需要大量的时间...还有其他人看到这个问题吗? 最佳答案 正如Ladislav在评论中指出的那样,您需要禁用自动更改检测以提高性能:context.Configuration.AutoDetectChangesEnabled=false;此更改检测

c# - Linq Query 一直抛出 "Unable to create a constant value of type System.Object....",为什么?

以下是代码示例:privatevoidloadCustomer(intcustIdToQuery){vardbContext=newSampleDB();try{varcustomerContext=fromtindbContext.tblCustomers//keepsthrowing:wheret.CustID.Equals(custIdToQuery)//Unabletocreateaconstantvalueoftype'System.Object'.selectnew//Onlyprimitivetypes('suchasInt32,String,andGuid'){//ar

c# - Linq Query 一直抛出 "Unable to create a constant value of type System.Object....",为什么?

以下是代码示例:privatevoidloadCustomer(intcustIdToQuery){vardbContext=newSampleDB();try{varcustomerContext=fromtindbContext.tblCustomers//keepsthrowing:wheret.CustID.Equals(custIdToQuery)//Unabletocreateaconstantvalueoftype'System.Object'.selectnew//Onlyprimitivetypes('suchasInt32,String,andGuid'){//ar

c# - LINQ to Entities 仅支持使用 IEntity 接口(interface)转换 EDM 原语或枚举类型

我有以下通用扩展方法:publicstaticTGetById(thisIQueryablecollection,Guidid)whereT:IEntity{Expression>predicate=e=>e.Id==id;Tentity;//Allowreportingmoredescriptiveerrormessages.try{entity=collection.SingleOrDefault(predicate);}catch(Exceptionex){thrownewInvalidOperationException(string.Format("Therewasanerr