2010-03-06 17 views
1

我有下面的SQL語句,我想CONVER到LINQ鏈接到SQL聯接與聲明或條款

Select 
    F.FooName 
    B.BarName 
From Foo F 
Inner Join Bar B on B.BarName = F.FooName OR B.BarName + 'hello' = F.FooName 

我已經看到了內蒙古在與多個條件和條款鏈路連接,但不使用或 的以下是據我所知

var myresult = from f in Foo 
       join b in Bar 
        on new {Name = B.BarName, NamePlus = B.BarName + "hello"} equals 
         new {Name = F.FooName, NamePlus = F.FooName} 
       select new { f, b } 

顯然這是不對的。任何人都可以幫忙

回答

3
var myresult = from f in foo 
       from b in bar 
       where b.BarName == f.FooName || 
        b.BarName + 'hello' == F.FooName 
       select new {f, b}; 
+1

+1;這是正確的做法。作爲一般規則,切勿在LINQ to SQL/LINQ to Entities中使用'join':http://blogs.teamb.com/craigstuntz/2010/01/13/38525/ –