基于这个使用webapi实体框架的图表,最好的说法是什么,给我回复所有Menus.text ....其中AspNetUsers.Username = xxxx。
我想我需要从MenusController开始,然后说返回菜单(包括权限,包括组,包括AspNetUsers,其中username = x。
这是最好的方法吗?
答案 0 :(得分:1)
如果您只需要菜单的文本字段,不使用include,最好使用投影加载所需的字段如下:
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();