C# 多对多关系-将所有对象链接到另一个对象
我有两门课:C# 多对多关系-将所有对象链接到另一个对象,c#,telerik-open-access,C#,Telerik Open Access,我有两门课: public class User { public User() { this.Groups = new List<Group>(); } public long Id { get; set; } public string Name { get; set; } public IList<Group> Groups { get; set; } } 我想获取与组x关联的所有用户 如何编写l
public class User
{
public User()
{
this.Groups = new List<Group>();
}
public long Id { get; set; }
public string Name { get; set; }
public IList<Group> Groups { get; set; }
}
我想获取与组x关联的所有用户
如何编写linq请求
在删除指向此组的所有链接(用户/组)后,我最终要删除组x。或者,是否可以通过级联删除自动执行?我对这两种解决方案很感兴趣。您可以使用下面的示例代码从
组中选择用户
var allUserInGroup = Group.Where(group => group.Id == id).Select(group => group.Users).ToList();
对于删除部分:
if(!group.Any(g => g.Users)) { // assume group is IQueryable/IEnumerable
context.Group.Remove(group);
context.SaveChanges();
}
选择给我一个trackedList[用户]。如何在循环中使用它?如何将其转换为IEnumerable(例如列表)?删除部分时出现错误“未知方法任何(?)”。@profou:我编辑了答案。您只需在第一部分中调用ToList()
。第二部分,组必须是IEnumerable或IQueryable
var allUserInGroup = Group.Where(group => group.Id == id).Select(group => group.Users).ToList();
if(!group.Any(g => g.Users)) { // assume group is IQueryable/IEnumerable
context.Group.Remove(group);
context.SaveChanges();
}