为什么LINQ to Entities不支持SingleOrDefault()?

时间:2009-06-01 15:21:35

标签: linq-to-entities

为什么LINQ to Entities不支持SingleOrDefault(),而是要求使用FirstOrDefault()

是否会替换SingleOrDefault()个功能?通过什么?

1 个答案:

答案 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();

Source: MSDN

相关问题