0
我正在寫一個查詢,看起來像這樣:LINQ到SQL條件讀
var TheOutput = (from x in MyDC.MyTable
where.....
select new MyModel()
{
MyPropID = (from a in MyDC.MyOtherTable
where....
select a.ElementID).SingleOrDefault(),
MyPropData = (from a in MyDC.MyOtherTable
where a.ElementID == MyPropID
select a.ElementData).SingleOrDefault(),
}
我填補了爲MyModel從數據庫中的幾個屬性。其中兩個屬性是通過閱讀另一個表填充的。目前,我首先閱讀MyPropID以查看其他表中是否有元素,然後再次讀取其他表以獲取數據,而不管是否檢索到ID。
如何通過讀取MyPropID並返回null知道我沒有數據與where a.ElementID == MyPropID子句匹配的情況下如何消除此第二次讀取。
謝謝。
我在哪裏可以找到由我的代碼生成的SQL語句的數量? – frenchie 2012-02-26 16:17:09
我通常使用[LinqPad](http://www.linqpad.net/) – Magnus 2012-02-26 17:06:49
也許'MyPropData = id == null? null :(從MyDC.MyOtherTable中的a)。Single()'會使意圖更清楚,查詢可能根本不被執行? – BACON 2012-02-26 17:09:45