私はできるだけ明確にします。 私の最初のテーブルにはタイプののジョブが含まれています。複数のテーブル間でリレーショナルLINQクエリを作成する
public class JobTypes: Entity
{
public string Code { get; set; }
}
ここには2番目のエンティティにすべてのジョブが含まれています。
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
{
...
私はこの結果をモデルに、各ジョブの種類の数を取得できますか、ここで適切な解決策を見つけるcouldntの?あなたが欲しい
なぜEFでリレーションシップを使用していないのですが、このシームは単純な列テーブルのマッピングですか? –
'FinishedWork'エンティティに完全なコードを保存すると、あなたの' JobTypes'エンティティのポイントは何ですか? – Rafalon
@FilipCordas私はあなたが何を意味しているのか理解しましたが、切り替え前に私のロジックが質問に集中できるようにしてください。 – TyForHelpDude