2

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

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

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

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

干杯

西蒙

4

1 回答 1

6

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

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

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

于 2010-02-05T15:31:57.123 回答