2013-12-09 61 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个不同的,不同要求得到数据:

一个拿到个人,另一个列表他们全部的历史清单。在内存中创建这两个数据表之间的关系之后。

这里的问题是你的数据是这样构成的。如果个人记录本身不那么大,我会保持你已经做的方式:

你有一个数据列表,并在每一行你有一个人的地址。