2016-06-13 27 views
1

正しい方法:データの読み取り、私は3つのテーブル持って

  1. 人を
  2. フォルダ
  3. PersonsFolders

ありPersonPersonsFolders間の関係があり、かつFoldersPersonsFolders間。

これで、配列の最初の人物を含むすべてのフォルダをgridviewで表示する必要があります。私はPersonsFoldersからデータを読み込もうとしましたが、人とフォルダからすべてのデータを取得しましたが、そのフォルダIDを持つ人ごとに、すべてのフォルダが数回あります。

私はこのコードを使用して、これをフィルター:

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

私もxamal

PersonsFolders[0].Person.Tel 

上のすべてのフォルダとの表示を選択しようとしましたが、唯一のフォルダから情報を得ました。私は、情報Personテーブルの検索に成功しなかったので、情報が同時にgridviewに表示されます。

解決方法はありますか?

答えて

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

+0

適応を変更しても、コードは機能しません。 –

+0

編集を確認してください。これはあなたの質問でどういう意味ですか? – Gelootn

+0

本当にありがとう。私はあなたのコードをコピーし、それは素晴らしいですが、エンティティフレームワークで私のコードでは動作しません。私はコードに入るsystem.data.entity.dynamicproxies.whenのデータを参照してください –

関連する問題