2013-12-09 59 views
0

問題是在我的數據庫中我有一個人對象,其中有一個子對象,其中包含該人的歷史的2個實例。現在,當從數據庫中選擇人物對象時,它返回給定人物的2個實例,其中每個人的歷史記錄都有不同的記錄。Linq加入選擇到很多數據

我的LINQ選擇

var list = from person in Context.People 
      join pinfoHist in Context.PersonInfoHistories on person.Id equals pinfoHist.PersonId into ph from p_info_hist in ph.DefaultIfEmpty() 
      select person; 

有誰知道爲什麼它說,是有周圍的辦法嗎?

+0

你需要該人的歷史數據嗎?如果是,哪個歷史記錄? – Kaf

+2

爲什麼在ph.DefaultIfEmpty()'中使用'從p_info_hist進入ph? – Satpal

+0

是的,我剛剛意識到這不是要走的路:p –

回答

0

如果你擔心一個事實,你有2分排在開始(人)的信息是相同的,你可以做2個不同的,不同要求得到數據:

一個拿到個人,另一個列表他們全部的歷史清單。在內存中創建這兩個數據表之間的關係之後。

這裏的問題是你的數據是這樣構成的。如果個人記錄本身不那麼大,我會保持你已經做的方式:

你有一個數據列表,並在每一行你有一個人的地址。