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 回答