Entity framework 实体框架扩展引发DynamicProxy异常

Entity framework 实体框架扩展引发DynamicProxy异常,entity-framework,entity-framework-extended,Entity Framework,Entity Framework Extended,当尝试使用EntityFramework.Extended进行批量更新时,我会遇到两个异常之一 看看我试过的答案: context.ProcessJobs.Where(job => true).Update(job => new ProcessJob { Status = ProcessJobStatus.Processing, StatusTime = DateTime.Now, LogString = "Processing" }); 我得到了以下例外:

当尝试使用EntityFramework.Extended进行批量更新时,我会遇到两个异常之一

看看我试过的答案:

context.ProcessJobs.Where(job => true).Update(job => new ProcessJob
{
    Status = ProcessJobStatus.Processing,
    StatusTime = DateTime.Now,
    LogString = "Processing"
});
我得到了以下例外:

“EntityFramework.Reflection.DynamicProxy”不包含“InternalQuery”的定义

System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute1(System.Runtime.CompilerServices.CallSite站点,对象arg0)+0x153字节

EntityFramework.Extended.dll!EntityFramework.Extensions.ObjectQueryExtensions.ToObjectQuery(System.Linq.IQueryable查询)+0x2db字节

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable源、System.Linq.Expressions.Expression>updateExpression)+0xe9字节

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable源、System.Linq.Expressions.Expression>updateExpression)+0xe9字节

基于一个例子,我尝试:

var c = ((IObjectContextAdapter) context).ObjectContext.CreateObjectSet<ProcessJob>();
c.Update(job => new ProcessJob
{
    Status = ProcessJobStatus.Processing,
    StatusTime = DateTime.Now,
    LogString = "Processing"
});
var c=((IObjectContextAdapter)context.ObjectContext.CreateObjectSet();
c、 更新(作业=>new ProcessJob
{
状态=ProcessJobStatus.Processing,
StatusTime=DateTime。现在,
LogString=“处理”
});
这会导致异常(可能与报告的错误相同)

“EntityFramework.Reflection.DynamicProxy”不包含“EnsureMetadata”的定义

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.FindMappingFragment(System.Collections.Generic.IEnumerable itemCollection,System.Data.Entity.Core.Metadata.Edm.EntitySet EntitySet)+0xc1e字节

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.CreateEntityMap(System.Data.Entity.Core.Objects.ObjectQuery查询)+0x401字节

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.GetEntityMap(System.Data.Entity.Core.Objects.ObjectQuery)+0x58字节

EntityFramework.Extended.dll!EntityFramework.Mapping.MappingResolver.GetEntityMap(System.Data.Entity.Core.Objects.ObjectQuery查询)+0x9f字节

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable源、System.Linq.Expressions.Expression>updateExpression)+0x1c8字节

我尝试了EF5的最新版本,并升级到EF6以查看最新版本是否有效,但我遇到了相同的问题。我们首先使用代码

我不知道如何继续,我已经开始尝试理解EntityFramework.Extensions代码是如何工作的。但我想知道我是否必须退回到使用存储过程或SQL,这两种方法都不适合我们的设置


有人知道这些问题是什么,或者对如何解决问题有什么想法吗?

事实证明,您可以忽略此错误。我打开了CLR运行时异常调试选项。我完成了源代码,然后下载并开始调试

似乎最初抛出的异常是预期的,它会使用一些其他选项重试。不幸的是,我没有时间研究确切的问题,因为我遇到了另一个问题——但这是另一个问题的主题