0

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
                       };
4

0 に答える 0