为什么LINQ to Entities不支持SingleOrDefault()
,而是要求使用FirstOrDefault()
?
是否会替换SingleOrDefault()
个功能?通过什么?
答案 0 :(得分:3)
我不确定为什么会被遗漏,但你总是可以自己动手。
我在MSDN上发现了对此问题的类似响应,这是基于该代码的实现。
public static TElement SingleOrDefault<TElement>
(this IQueryable<TElement> query)
{
if (query.Count() == 1)
return query.First();
else if (query.Count() == 0)
return null;
else
throw new InvalidOperationException();
}
// Use it like this
Product prod = (from p in db.Product
where p.ProductID == 711
select p).SingleOrDefault();