2011-12-06 31 views
1

我有以下Log使用LINQ選擇從SQL Server數據庫中的兩個對象

int LogID 
text Name 
datetime CreationTime 
text Content 
int CreatorID 

我試圖讓一個具體的Creator

Creator creator = myDataContext.Creator.Single<Creator>(cr => cr.Name == name); 
var query = (from l in myDataContext.Log 
      where l.CreatorID == creator.CreatorID 
      select l).ToList<Log>(); 

創建的所有日誌,但在返回列出Creator爲空。

如何獲得給定Creator的日誌列表?

+0

你確定你有針對的CreatorID日誌? – TheBoyan

+0

我不完全理解你的問題......你的客戶端對象是否被第一個查詢正確設置。在第二個查詢上放置一個斷點,以檢查創建者變量是否被正確設置。 – KingCronus

回答

3

您需要設置LoadOptions:

DataLoadOptions dataLoadOptions = new DataLoadOptions(); 
dataLoadOptions.LoadWith<Log>(l => l.Creator); 
myDataContext.LoadOptions = dataLoadOptions; 
+0

爲什麼我沒有包含? .NET的版本還是什麼? – Saint

+0

不,不同的ORM。 Linq-to-SQL不是Linq-to-EF。 –

+0

呃,好的。錯過您的發佈說明。謝謝 – Saint

0
var logs = myDataContext.Logs.Include("Creator").Where(c => c.Creator.Name == name).ToList(); 
+0

爲什麼我沒有包含? .NET的版本還是什麼? – Saint

相關問題