Linq获取基于单列值的数据

时间:2016-05-17 11:24:34

标签: asp.net asp.net-mvc linq lambda

我想通过关系数据库根据性别获得工作计数。

第一桌 - 人

PersonID  PersonName Gender
1         Anand      Male
2         sam        Male
3         Mary       Female

第二桌 - 工作

JobID    Job     PersonID
1        x        1
2        y        3
3        z        1
4        a        2

必需的输出

Gender   JobCount
Male     3
Female   1 

我的模特

public class value
{
    public string Gender {get;set;}
    public int JobCount {get;set;}
}

我的代码

var data = from t1 in db.Persons
          join t2 in db.Jobs on t1.PersonID equals t2.PersonID into PersonJob
          select new value { Gender = t1.Gender , JobCount = PersonJob.Count()};

但它没有提供所需的输出。

1 个答案:

答案 0 :(得分:0)

我得到了答案

var orders = from t1 in db.Persons
             join t2 in db.Jobs on t1.PersonID equals t2.PersonID
             group t1.Gender by t1.Gender into data
             select new value { Gender = data.Key , JobCount = data.Count()};

通过以上我得到了所需的o / p