GON*_*ale 4 .net c# lambda entity-framework
任何想法在EF DbContext查询中可能出现什么问题?据我了解,这应该按照SO的同伴来进行。
我试过列表,空值检查,不是空值检查,但没有用。但是,如果我删除了null检查并仅保留,则查询确实起作用Contains()
。但是,如果testID为null,则必须返回所有记录。
var testIDs = new int[] { 1, 3 };
var test = session.All<VendorBooking>(x => testIDs == null || testIDs.Contains(x.VendorServiceID)).ToList();
Run Code Online (Sandbox Code Playgroud)
(session.All只是利用context.Set<T>.Where()
)
引发异常:EntityFramework.SqlServer.dll中的“ System.NotSupportedException”
附加信息:无法比较'System.Int32 []'类型的元素。仅支持原始类型,枚举类型和实体类型。
非常感谢
大概是这样的。另外,您可以提取公共部分并使之更短。
var testIDs = new int[] { 1, 3 };
if (testIDs == null)
{
var test = session.All<VendorBooking>()
.ToList();
}
else
{
var test = session.All<VendorBooking>(x => testIDs.Contains(x.VendorServiceID))
.ToList();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3727 次 |
最近记录: |