2011-12-19 93 views
1

我正在使用实体框架4.0,我想删除实体的导航属性指向的所有实体。我怎样才能做到这一点?如何删除与特定实体相关的所有实体?

+0

对于某些情况,我需要从应用程序中删除一条记录,但它有很多与其相关的导航属性,直到我所做的是逐个删除所有的导航属性。 – MegaMind 2011-12-19 06:18:08

+0

是否要删除*属性*或删除属性指向的*项*? – 2011-12-19 10:57:55

+0

我想删除属性指向的项目。 – MegaMind 2011-12-19 10:58:55

回答

3

您正试图解决错误层的问题。您需要重新考虑您的数据库设计,特别是如何保持参照完整性。

您需要设置外键的“CASCADE DELETE”并将其反映在您的实体模型中。然后,数据库将进行必要的更改以在删除该实体时保持参照完整性。

0

我不确定我是否理解了您的问题。但据我所知.clear()方法清除并删除所有的导航属性,如Orders.clear()

+0

我以前使用'.Clear()'会导致问题,因为它只会将相关对象的外键设置为'null' - 这通常会导致错误。 – jocull 2012-04-12 19:43:25