Entity Framework を使用している状況で、同じ値の 2 つのフィールドを持つテーブルを結合したいのですが、フィールドが異なるデータ型で識別されます。たとえば、データ型が「Guid」であるフィールドがありますが、別のテーブルでは関連付けられたフィールドは「文字列」型です。私は目標を達成するために混乱しています。誰かが私にいくつかのアイデアを与えることができます.これが私のコードです.emps.EmpGuidは「Guid」データ型であり、flowCode.Objectは文字列です:
DbSet<tb_Emp_Manager_Zbdl> dbEmp = zbdlcontext.Emp_Manager;
DbSet<Tb_Corp_CompanyInfo_Zbdl> dbCompany = zbdlcontext.Corp_CompanyInfos;
DbSet<Tb_FlowCode_Zbdl> dbFlowCode = zbdlcontext.FlowCodes;
DbSet<Tb_Emp_Post_Zbdl> dbEmpPost = zbdlcontext.Emp_Post;
var query = from emps in dbEmp
join companies in dbCompany on emps.CorpGuid equals companies.CorpUserGuid
join flowCode in dbFlowCode on new { EmpGuid = emps.EmpGuid.ToString(), AreaCode = areaCode } equals new { EmpGuid = flowCode.ObjectId, AreaCode = flowCode.AreaCode } into jFlowCodes
from flowCodes in jFlowCodes.DefaultIfEmpty()
join post in dbEmpPost on emps.EmpGuid equals post.EmpGuid into jPosts
from posts in jPosts.DefaultIfEmpty()
select new tb_Emp_Manager()
{
EmpGuid = emps.EmpGuid,
AreaCode = emps.AreaCode,
FlowCode = flowCodes.FlowCode,
corpName = companies.CorpName
};