2016-07-29 22 views
0

webapiエンティティフレームワークを使用してこのダイアグラムに基づいて、すべてのMenus.text ....を返す最良の方法は何かAspNetUsers.Username = xxxx。webapiエンティティフレームワーク - ネストされたクラスを返す最良の方法

私はそれが最善の方法です私はMenusControllerで開始する必要があると思うし、リターンメニューを言う(アクセス権を含め、グループを含め、ユーザ名= xでAspNetUsersが含まれる。

sql diagram

答えて

1

あなただけのメニューのテキストフィールドが必要な場合は、より良いが、以下のような所望のフィールドをロードするために使用する投影である含ま使用しない:

var menuTextList = db.Users.Where(e=> e.Username = "xxxx") 
       .Select(e=> e.Group) 
       .SelectMany(e=> e.Permissions) 
       .Select(e=> e.Menu) 
       .Select(e=> e.text) 
       .Distinct() 
       .ToList(); 

と次のようにメニュー内のすべてのフィールドについて:

var munuList = db.Users.Where(e=> e.Username = "xxxx") 
       .Select(e=> e.Group) 
       .SelectMany(e=> e.Permissions) 
       .Select(e=> e.Menu) 
       .Distinct() 
       .ToList(); 
+0

これは完全に機能しました。正しい方向に私を指してくれてありがとう – solarissf

関連する問題