Asp.net Linq到SQL:选择其他计数

Asp.net Linq到SQL:选择其他计数,asp.net,linq-to-sql,Asp.net,Linq To Sql,我想从一个表中选择所有内容,但要添加一个额外的列,其中包含另一个表中其他行的count()。我该怎么做?我想groupby不是我要找的。我想在SQL中执行的操作: Select *,(select count(*) from tableName2 where y=1) as count from tableName where x = 1 我找到了解决办法: Context.TableName.Where(y>y.Column.Equals(1)) .Select(x=>new{O

我想从一个表中选择所有内容,但要添加一个额外的列,其中包含另一个表中其他行的count()。我该怎么做?我想groupby不是我要找的。我想在SQL中执行的操作:

Select *,(select count(*) from tableName2 where y=1) as count
from tableName where x = 1
我找到了解决办法:

Context.TableName.Where(y>y.Column.Equals(1))
.Select(x=>new{Object=x,Count = Context.TableName2.Count()})
将生成以下内容:

Select *, (select count(*) from TableName2)
from TableName
Where TableName.y = 1

我想你要找的是

from r in context.tablename
where r.Column == 1
select new { y, y.Tablename2.Count() }
但即使没有显式选择,也可以始终使用计数

var r = context.tablename.Single(s=>s.column == 1);
而且你还可以用

r.Tablename2.Count()

根据您的datacontext设置,这将导致一个额外的SQL语句,因此第一个语句更有效

,但这并不相同,它将统计tablename2中的所有行,无论所选的x是多少