Sla*_*uma 3 .net linq linq-to-entities
(我在括号中加上"...... to Entities",因为我不知道这是否重要.我想这是一个非常普遍的LINQ相关问题.)
如果数据库中存在对象,我想检查LINQ(实体).目前我正在做以下事情:
using (MyEntitiesContext aCtx = new MyEntitiesContext())
{
var aQuery = from c
in aCtx.Client
where c.ClientID==1
select c;
Client aClient = aQuery.FirstOrDefault();
bool Exists = (aClient!=null);
...
}
Run Code Online (Sandbox Code Playgroud)
但是(如果我没错),这将从数据库加载完整的Client对象(如果客户端存在).我实际上只关心它是否存在而不加载对象.
SQL有SELECT COUNT(*)...构造.有什么类似的东西我可以用LINQ吗?
谢谢你的建议!
小智 7
一种选择是使用 IQueryable 的Any方法.它将返回一个布尔值,指示是否找到与指定条件匹配的对象.
using (MyEntitiesContext aCtx = new MyEntitiesContext())
{
bool exists = (from c
in aCtx.Client
where c.ClientID==1
select c).Any();
}
Run Code Online (Sandbox Code Playgroud)
一旦计算结果为true,此方法也将停止运行.