これは、私がやりたいことの非常に基本的な例です。私が思いついたコードは非常に冗長なようです...つまり、コレクションをループするなど.
削除、挿入、更新された ViewModel のコレクションをポストバックする Telerik MVC グリッドを使用しています。ビュー モデルは似ていますが、エンティティとまったく同じではありません。
たとえば...私は持っています:
Order.Lines. 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 はコレクションではなく単一のエンティティのみを受け入れるようです。
おそらく上記で十分ですが、もっと簡単な方法があるはずです。
ありがとう、BOb