我試圖找到一個很好的參考,幫助我這個TSQL語句轉換到LINQ:TSQL轉換爲LINQ轉換參考?
例:
SELECT * FROM Categories WHERE ProductID IN (SELECT ProductID FROM ProductCategories WHERE CatID = 23)
我不能在任何地方找到引用怎麼辦WHERE「IN」部分。
我試圖找到一個很好的參考,幫助我這個TSQL語句轉換到LINQ:TSQL轉換爲LINQ轉換參考?
例:
SELECT * FROM Categories WHERE ProductID IN (SELECT ProductID FROM ProductCategories WHERE CatID = 23)
我不能在任何地方找到引用怎麼辦WHERE「IN」部分。
雖然它不是剛好 TSQL轉LINQ參考,我發現MSDN上的101 LINQ Samples頁有助於此目的。
見,如果這個工程:
var qry = from c in Categories
where (from pc in ProductCategories where pc.CatID = 23 select pc.ProductID).Contains(c.ProductID)
select c;
我不知道是否有是IN的直接轉換凡在LinqToSQL部分(沒有找到任何引用),但我用Contains
取而代之。
使用擴展方法...
var productIDs = context.ProductCategories
.Where(c => c.CatID == 23)
.Select(c => c.ProductID);
var categories = context.Categories
.Where(c => productIDS.Contains(c => c.ProductID));
編輯:101個LINQ的樣品是簡單的事情,一個很好的參考。對於更復雜的東西,我發現我通常不得不求助於谷歌。僅供參考,如果你想搜索StackOverflow,我發現它使用谷歌更好,並指定site: stackoverflow.com
。因人而異。
謝謝 - 是這樣的:http://msdn.microsoft.com/en-us/vcsharp/aa336761.aspx#intersect2我在尋找什麼呢? TSQL「IN」= Linq「相交」? – EdenMachine 2009-02-14 03:13:46