我正在使用实体frameork开发一个asp.net mvc web应用程序,但我有一个问题,如果有.Remove
的重载方法,我可以传递一个对象列表而不是传递一个对象只有在某个时候,例如: -
entity.VM.Remove(server.VMs);
目前我必须循环访问我的Server对象并逐个删除相关的VM,例如: -
foreach(var i in server){
entity.VM.Remove(i.VM);
}
答案 0 :(得分:1)
超载否,但替代是
RemoveRange(IEnumerable<TEntity> entities)
实体只需要填充密钥。使用前请检查方法文档。
答案 1 :(得分:0)
您可以使用Except
您可以使用以下:
List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
List<car> result = list2.Except(list1).ToList();
您可能甚至不需要这些临时变量:
List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();
请注意,Except不会修改任何一个列表 - 它会创建一个包含结果的新列表。
来自here的示例: