2017-04-19 62 views
-17

我需要在Linq Join中有多個條件。什麼是Linq等同於帶有OR連接的SQL查詢?

什麼可能是

select * 
from tblOfferingBillingBehaviorMapping billMap 
inner join tblLookUpBillingBehavior lkpBill 
    on (billMap.LkpBillingBehaviorId =lkpBill.LkpBillingBehaviorId 
     or billMap.LkpBillingBehaviorId =lkpBill.ParentRootId) 
+0

沒有快速的答案:LINQ僅支持了'join'平等條款。你可以使用多個'from'子句和'where'。 – Richard

+0

使用'功能語法'來理解它是如何工作的,並且都很好 – 2017-04-19 07:58:51

回答

0

你也可以做一個where條件類似的內部連接狀態的交叉連接

var q1 = from billMap in tblOfferingBillingBehaviorMapping 
     from lkpBill in tblLookUpBillingBehavior 
     where billMap.LkpBillingBehaviorId == lkpBill.LkpBillingBehaviorId || billMap.LkpBillingBehaviorId =lkpBill.ParentRootId 
     select new { billMap, lkpBill }; 
1
var query = from [record] in [table] 
         join [table that you join] 
         in [name of the table] 
         on [record] equals [record in the other table] 
         select new { [Column Name] = [Table].[Record] }; 

相當於如果使用查詢你能做到這樣。 我不知道如何在linq p => p中執行該操作。樣式。 希望這是有幫助的。 這裏有一個例子:

var query = from person in people 
         join pet in pets on person equals pet.Owner 
         select new { OwnerName = person.FirstName, PetName = pet.Name };