EntityFramework.Extended Update无法正常工作 - 无法转换DynamicProxy

时间:2013-04-28 07:41:05

标签: c# sql entity-framework entity-framework-6 entity-framework-extended

我正在使用Entity Framework 6并尝试使用EntityFramework.Extended来进行一些批量更新:

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中的错误还是EF.Extended和EF 6之间的不兼容?

2 个答案:

答案 0 :(得分:3)

看起来EntityFramework.Extended尚不适用于EF 6。一些EF名称空间更改导致了问题。您可以从

中提取扩展源,删除旧的EF引用并更改与EF相关的命名空间
using System.Data.*;

using System.Data.Entity.Core.*;

答案 1 :(得分:0)

这不适用于当前版本的EF.Extended。