以正确的方式使用Entity Framework读取数据

时间:2016-06-13 13:12:03

标签: c# wpf gridview entity-framework-6

我有3张桌子:

  1. 文件夹
  2. PersonsFolders
  3. PersonPersonsFolders之间以及FoldersPersonsFolders之间存在关系。

    现在我需要在gridview中显示包含数组中第一个人的所有文件夹。我试图从PersonsFolders读取数据,我从人和文件夹中检索了所有数据,但我有几个文件夹 - 对于每个拥有该文件ID的人。

    我使用此代码过滤了这个:

    .GroupBy(t => t.FolderID)
                   .Select(g => g.First())
                   .ToList();
    

    我还尝试选择所有文件夹并在xamal上显示

     PersonsFolders[0].Person.Tel
    

    但只从Folder获取信息。我没有成功检索信息人员表 - 所以信息同时出现在网格视图中。

    有没有人有解决方案?

1 个答案:

答案 0 :(得分:0)

var list = Folders.Select(x=> new { Folder = x, Person = x.PersonFolders.OrderBy(pf => pf.person.name).first().select(pf => pf.person)}).ToList();

这应该为您提供一个包含2个属性的对象的列表,该文件夹的属性和该人的属性

我创建了一个上面代码的小例子

https://dotnetfiddle.net/yBCwZC