我真的不知道如何正确命名这个问题,所以随时可以编辑。
我有一个非常简单的数据库模型,它在User
和UserGroup
之间具有多对多关系。现在它工作得很好但是我返回他所附的组列表的方式并不太漂亮。我认为有一些更好的方法可以使用LINQ调整或类似的东西来做到这一点。
这是我到目前为止所做的,它再次起作用,但我认为这可以用一个查询。
public virtual List<UserGroup> UserGroups
{
get
{
var _db = new MainDataContext();
var userGroupUsers = _db.UserGroupUsers.Where(x => x.UserId == Id);
var userGroups = new List<UserGroup>();
userGroupUsers.ToList().ForEach(x =>
{
userGroups.Add(x.UserGroup);
});
return userGroups;
}
}
答案 0 :(得分:1)
您应该使用Select
return _db.UserGroupUsers.Where(x => x.UserId == Id)
.Select(t => t.UserGroup)
.ToList();