3

我正在使用 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 之间的不兼容?

4

2 回答 2

3

看起来 EntityFramework.Extended 不适用于 EF 6。一些 EF 命名空间更改导致了问题。您可以拉取扩展源,删除旧的 EF 引用并更改与 EF 相关的命名空间

using System.Data.*;

using System.Data.Entity.Core.*;
于 2013-05-07T21:40:28.940 回答
0

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

于 2014-05-05T17:50:00.750 回答