2

我有2个表:如何删除在LINQ相关对象的实体框架

orders 
orderItems 
相互连接

扔(在orderItems表FK orderId)之间的关系。有没有之间的差异:

order.orderitems.remove(...) 

以试图删除相关的实体时,orderId值只设置到null

+1

Hw90的回答是错误的。你正在做的两件事之间没有区别。 – 2012-04-24 17:12:07

回答

2

将FK属性设置为null并从navugation属性中删除实体都执行相同的操作。也就是说,它们都切断了实体之间的关系,但不会导致任何实体被删除。这与将数据库中的FK值设置为NULL相同。

要删除实体,您必须在实体的DbSet上调用Remove。例如

context.OrderItems.Remove(orderitem); 
context.SaveChanges();