【发布时间】:2015-09-11 03:50:19
【问题描述】:
任何想法在 EF DbContext 查询中可能存在什么问题?据我了解,这应该根据fellow SO poster 工作。
我尝试过 Lists,null,not null 检查,但无济于事。但是,如果我删除空检查并留下Contains(),则该查询确实有效。但是,如果 testIDs 为空,则要求返回所有记录。
var testIDs = new int[] { 1, 3 };
var test = session.All<VendorBooking>(x => testIDs == null || testIDs.Contains(x.VendorServiceID)).ToList();
(session.All 只使用context.Set<T>.Where())
抛出异常:'System.NotSupportedException' in EntityFramework.SqlServer.dll
附加信息:无法比较类型的元素 'System.Int32[]'。只有原始类型、枚举类型和实体 支持类型。
非常感谢
【问题讨论】:
-
您使用什么版本的 EF 和 .net?
-
EntityFramework v6.1.3(最新的 AFAIK),.NET 4.5.1
标签: c# .net entity-framework lambda