0
我有一個關於使用Linq在C#中從多個表中進行選擇的問題。Linq to Sql從多個表中選擇
表結構是這樣的:
表A
TableAID column1的 列2
表B
TableBID TableAID欄3 Column4
所以在代碼我有:
List<string> myList = new List{"Test1","Test2"};
var myView = MYDC.TableA.AsQueryAble();
如果我想用其中的列1,選擇從表中A記錄,我會簡單地使用:
myView = myView.Where(k=>myList.Contains(k.Column1));
但是,如果我想保留MyView的如表A的可查詢,如果我想在欄3對錶B的地方使用,它通過外鍵鏈接到TableA,我該怎麼做?
我嘗試沒有成功如下:
myView = myView.Where(k=>myList.Contains(k.TableB.Select(kk=>kk.Column3)));
有什麼建議?
在此先感謝
這是什麼意思「沒有成功」?當你嘗試時發生了什麼? – svick 2010-05-24 14:47:55
它說: 委託'System.Func'不需要1個參數 –
Lexicon
2010-05-24 14:55:08
我會指出,當你看到一個'Func'(vs'Expression>')一個可查詢的語句,通常意味着它運行謂詞_in內存_而不是翻譯成數據庫調用,所以它通常會否定可查詢的好處(因爲您要返回整個記錄集才能執行謂詞)。 –
drzaus
2013-10-15 15:09:11