我有一个实体,我们称它为CommonEntity
具有在许多其他实体中用作外键的主键。随着应用程序的开发,这些链接将继续增长。
我想要一种方法来查看是否CommonEntity
可以安全地删除(即它不被任何其他实体使用)。
我意识到我能做到
if(!ce.EntityA.Any() && !ce.EntityB.Any() ... && !ce.EntityN.Any())
{
//Delete
}
但我希望有一种方法可以自动检查所有关系,因为我不喜欢每次添加新关系时都必须返回并手动更改此代码的想法。也许 EF4+ 中有一些我不知道的东西?
我认为可以使用事务范围来尝试删除对象并在失败时将其回滚,但我不确定这种方法是否有任何不利的副作用。
有更好的方法吗?
编辑:看起来 VS2012 使用了 EF5,即使项目是 .Net 4,所以即使它是从数据库生成的,它也使用 POCO 创建了模型。