sql 与linq的转换

1. left Join

原始sql

select  t.[MINTAccountIdentifier] from BSS_Tenant  t left join
 BL_SAPCustomer s on  s.BillableAccountID=t.MINTAccountIdentifier where s.CustomerID is null;


转化的linq

from t in entities.BSS_Tenant
 join s in entities.BL_SAPCustomer on t.MINTAccountIdentifier equals s.BillableAccountID into osy
  from os in osy.DefaultIfEmpty()
  where os.CustomerID == null
  select t.MINTAccountIdentifier;

生成的sql

SELECT 
    [Extent1].[MINTAccountIdentifier] AS [MINTAccountIdentifier]
    FROM  [dbo].[BSS_Tenant] AS [Extent1]
    LEFT OUTER JOIN [dbo].[BL_SAPCustomer] AS [Extent2] ON [Extent1].[MINTAccountIdentifier] = [Extent2].[BillableAccountID]
    WHERE [Extent2].[CustomerID] IS NULL


 

原文地址:https://www.cnblogs.com/sunShineJing/p/4670897.html