【发布时间】:2017-10-23 13:31:23
【问题描述】:
我会尽量说清楚; 我的第一个表包含 types 工作;
public class JobTypes: Entity
{
public string Code { get; set; }
}
这是我的第二个实体,包含所有工作;
public class FinishedWork: Entity
{
public string JobTypeCode { get; set; }
public int DepartmentId { get; set; }
public int EmployeeId { get; set; }
}
以及员工和部门:
public class Employee: Entity
{
public string Name { get; set; }
}
public class Department: Entity
{
public string DepartmentName { get; set; }
}
查询结果应该回答; “每个员工的每种工作类型的完成工作数量” 例如,结果应如下所示:
Employee JobType1 JobType2 ... JobType122 DepartmentName (Yes, there is 122 job type and result should tell how many work done by alice each job)
Alice 2 0 ... 0, AccountManagement
...
和我的查询来实现它;
var mdl = (from m in FinishedWork
join t in JobTypes m.JobTypeCode equals t.Code
join d in Department on m.DepartmentId equals d.ID
join e in Employee on m.EmployeeId equals e.ID
group m by new { e.ID, e.Name, m.JobTypeCode } into grp
select new ResultModel
{
...
我在这里找不到合适的解决方案,如何将每种作业类型的计数纳入此结果模型?
【问题讨论】:
-
你为什么不在 EF 中使用关系这个接缝成为简单的列表映射?
-
如果您将完整代码存储在您的
FinishedWork实体中,您的JobTypes实体有什么意义? -
@FilipCordas 我明白你的意思,但是在切换我的逻辑之前让我们专注于查询,如果我不能,那么我们可以讨论它
-
@Rafalon,有很多属性我只是把事情弄短了
标签: c# entity-framework linq linq-to-entities