EntityFramework.扩展更新不工作-不能转换DynamicProxy
本文关键字:不能 转换 DynamicProxy 工作 扩展 更新 EntityFramework | 更新日期: 2023-09-27 18:11:15
我正在使用实体框架6,并试图使用EntityFramework。扩展来做一些批处理更新:
db.TicketOrderItems
.Where(i => !i.IsDeleted && !i.Order.IsCompleted && i.Order.OrderDate < margin)
.Update(i => new TicketOrderItem { IsDeleted = true });
TicketOrderItem是OrderItem的扩展。当现在执行此命令时,我得到以下错误(从德语翻译过来,因为我在德语中得到它):
The EntityFramework.Reflection.DynamicProxy-type can not implicitly be converted
to System.Data.Objects.ObjectQuery<NAMESPACE.TicketOrderItem>.
我已经禁用了延迟加载和代理生成(并通过调试验证,没有生成代理):
db.Configuration.LazyLoadingEnabled = false;
db.Configuration.ProxyCreationEnabled = false;
有办法解决吗?
或者这是"尚未最终"的EF 6中的一个bug,或者是EF和EF之间的不兼容。扩展和EF 6?
看起来像EntityFramework。Extended还不能与EF 6一起工作。EF名称空间的一些更改导致了这个问题。您可以拉出扩展的源代码,删除旧的EF引用,并从
更改EF相关的名称空间。using System.Data.*;
using System.Data.Entity.Core.*;
这不适用于当前版本的EF.Extended