我有两个表是州和名单.
州
------------
id | state
------------
1 |xxx
2 |yyy
Run Code Online (Sandbox Code Playgroud)
名单
---------------
id|Name |stateid
--------------
1|aaa |1
2|abb |1
3|ccc |2
4|dds |2
Run Code Online (Sandbox Code Playgroud)
我希望结果表为
------------------
state |count
-------------------
xxx | 2
yyy | 2
Run Code Online (Sandbox Code Playgroud)
我想使用linq查询以上结果
我尝试下面的代码,但返回错误为(无法创建类型'xxx'的常量值.在此上下文中仅支持基本类型或枚举类型.)
var count= (from n in bc.db.state
select new
{
states = n.state,
count = (from c in bc.db.namelist
where c.stateid == n.id
select n).Count()
});
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
您需要使用分组依据...
var list=
(from n in bc.db.state
join c in bc.db.namelist on n.id equals c.stateid
group n by n.state into g
select new
{
State = g.Key,
Count = g.Count()
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
836 次 |
最近记录: |