如何将此代码从SQL转换为Linq

时间:2011-10-21 08:03:06

标签: sql linq linq-to-sql linq-to-entities

如何将以下代码从SQL转换为Linq

SELECT CF.CustomerProfileId,CF.Salutation,CF.Gender,CF.LastName,
           CF.DateOfBirth,AD.Line1,AD.Line2,AD.Line3,AD.Line4,AD.Line5,
           AD.Country,AD.ElectronicAddressDesc,NCIType.NationalCustomerIdentifierTypeDesc,
           NCI.NationalCustomerIdentifier from CustomerProfile CF
           left join Address AD on CF.CustomerProfileId = CF.CustomerProfileId
           left join NationalCustomerIdentifiers NCI on CF.CustomerProfileId = NCI.CustomerProfileId
           left join NationalCustomerIdentifierType NCIType on NCI.NationalCustomerIdentifierTypeId = NCIType.NationalCustomerIdentifierTypeId
          where CF.CustomerProfileId = @CustomerProfileid  and CF.Version = @Version

1 个答案:

答案 0 :(得分:0)

您需要在LINQ中进行多次左连接。这是可能的虽然看起来不太好(linq在处理除内部以外的连接时不是很舒服)。 Here is a microsoft example of left join in linq它只加入两个表,但你可以扩展它。如果你不喜欢结果的样子 - 比制作一个视图或一个sproc。