这是我想做的一个非常基本的例子。我想出的代码似乎很冗长......即循环通过集合等。
我正在使用 Telerik MVC 网格,它回发一组已删除、插入和更新的 ViewModel。视图模型与实体相似但不完全相同。
例如......我有:
订单行。Lines 是包含 OrderDetail 记录的实体集合(导航属性)。在使用我的控制器的更新操作中,我有一个从 POST 数据中提取的列表名称 DeletedLines。我还查询了数据库并拥有包含 Lines 集合的 Order 实体。
现在我基本上想告诉它删除 Lines EntityCollection 中的所有 OrderDetails。
我这样做的方式是这样的:
foreach (var line in DeletedLines) {
db.DeleteObject(Order.Lines.Where(l => l.Key == line.Key).SingleOrDefault())
}
我希望有一种方法可以使用 .Interset() 来获取要删除的实体集合并将其传递给 DeleteObject .. 但是,DeleteObject 似乎只接受单个实体而不是集合。
也许上面已经足够好了..但似乎应该有一个更简单的方法。
谢谢,鲍勃