LinqToSql中的标量函数

Kje*_*sen 2 .net scalar linq-to-sql

在ADO.Net/SQLClient中,我经常会这样做:

SELECT COUNT(*) FROM SomeTable WHERE SomeKey = 1234

...并使用executioncalar来触发count来返回count的值 - 以便检查是否存在某些内容.

我如何使用LinqToSql做同样的事情?

Dan*_*ner 6

if (context.SomeTable.Any(row => row.SomeKey == 1234))
{
    DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

你也可以用Count().

if (context.SomeTable.Count(row => row.SomeKey == 1234) > 0)
{
    DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

但这需要始终遍历所有行,同时Any()可以在第一个匹配行之后返回 - 因此Any()可能具有更好的性能.