KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an issue with deletion in Entity Framework. In short, EF explicitly tries to delete an entity from the database even though I've explcitly configured EF to use cascading deletes in the database. My design: I have three entity types, MainEntity , EntityTypeA and EntityTypeB . EF has been configured to use cascade deletion when deleting EntityTypeA and EntityTypeB . In other words, if I delete an instance of MainEntity , I want all related EntityTypeA and EntityTypeB instances to be deleted as well. I never delete EntityTypeA or EntityTypeB without also deleting their parent. My problem is that EF explictly issues a DELETE statement for EntityTypeA , which causes my application to crash. This is what my model look like: The relations have the following non-default config: MainEntity -> EntityTypeA OnDelete: Cascade MainEntity -> EntityTypeB OnDelete: Cascade The relation EntityTypeA -> EntityTypeB has OnDelete: None Database contents INSERT INTO MainEntities (Name) values ('Test') insert into EntityTypeA (MainEntityID) VALUES (1) insert into EntityTypeB (MainEntityID, EntityTypeAId) VALUES (1, 1) insert into EntityTypeB (MainEntityID, EntityTypeAId) VALUES (1, 1) My code: class Program { static void Main(string[] args) { var context = new Model1Container(); var mainEntity = context.MainEntities.Include("EntityTypeA").SingleOrDefault(); context.DeleteObject(mainEntity); context.SaveChanges(); } } What happens When I call SaveChanges, Entity
Tags (comma-separated)
Save Edits
Cancel