0

例として、リストされたサンプル フィールドを含む次の 3 つのテーブルを作成できます。

著者--> AuthorId、名前、[...]

--> BookId、タイトル、[...]

AuthorBooks --> AuthorId、BookId

多対多テーブル (AuthorBooks) から行を削除するにはどうすればよいですか? 私はこのようなことをしたい:

var author = db.AUTHORS.Single(x => x.AUTHORID == 1);
var fictionBooks = author.BOOKS.Where(x => x.type == "fiction");
fictionBooks.Delete(); // This is what I want to do

多対多テーブルでこのような削除を実行するにはどうすればよいですか?

4

1 に答える 1

1

コレクションをループして、各アイテムを削除する必要があります。例のようにコレクションを簡単に削除するために、いつでも拡張メソッドでラップすることができます。

public static class FictionBookExtensions
{
    public static void Delete(IEnumerable<YourFictionBookClass> fictionBooks)
    {
        foreach (var fictionBook in fictionBooks)
        {
            db.DeleteObject(fictionBook);
        }
    }
}
于 2012-09-10T02:45:56.357 に答える