Entity Framework na exclusão em cascata
Tenho um problema ao excluir linhas relacionadas no Entity Framework 4.1. Eu tenho tabelas com relações
Book 1 <---> * BookFormats
Configurei a cascata ao excluir:
ALTER TABLE [dbo].[BookFormats] WITH CHECK ADD CONSTRAINT [FK_BookFormats_Book]
FOREIGN KEY([BookID]) REFERENCES [dbo].[Book] ([BookID]) on delete cascade
A propriedade EDMX
Então, quero remover todos osBokFormats
itens relacionados ao meuBook
objeto:
var originalBook = m.db.Book.First(x => x.BookID == bookId);
originalBook.BookFormats.Clear();
m.db.SaveChanges();
Mas, eu recebo o erro:
A operação falhou: o relacionamento não pôde ser alterado porque uma ou mais propriedades da chave estrangeira não podem ser anuladas. Quando uma alteração é feita em um relacionamento, a propriedade de chave estrangeira relacionada é definida como um valor nulo. Se a chave estrangeira não suportar valores nulos, um novo relacionamento deverá ser definido, a propriedade da chave estrangeira deverá receber outro valor não nulo ou o objeto não relacionado deverá ser excluído.
Fiquei sem ideias sobre como excluir esses objetos. Alguma ideia