没有外键的数据库上的实体框架

时间:2010-02-05 15:28:29

标签: entity-framework orm business-objects data-access

我目前正在使用一个大型数据库(大约500个表),所有这些都没有定义任何外键。

我的问题是有一种简单的方法可以在实体框架(版本1或版本2)中设置关系,而无需手动完成所有操作吗?

另外一些表格具有复杂的关系类型。例如,客户有一个parentID,但这可以链接到同一个表中的另一个客户(customerID)或链接到帐户表中的帐户(accountID)。这种关系在实体框架中是否可行?

如果这是不可能的,或者如果有人对Enitity Framework的替代解决方案有任何意见,我不仅仅对想法持开放态度。 nHibernate或活跃记录会是更好的解决方案吗?或者更容易创建自己的业务对象和数据访问?

干杯

西蒙

1 个答案:

答案 0 :(得分:6)

如果您没有定义任何外键,那么实体框架无法推断出关系。你必须手动定义它们。

关于你的第二个问题......不。这种关系是不可能的(它也是一个糟糕的设计选择)。

在我看来,除非您想重构数据库并实现具有外键关系的设计,否则您将不得不手动设置自己的Business Objects和数据访问层。

相关问题