代码之家  ›  专栏  ›  技术社区  ›  lancscoder

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

  •  2
  • lancscoder  · 技术社区  · 14 年前

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

    我的问题是,在实体框架(版本1或2)中建立关系是否有一种简单的方法,而不需要手动操作?

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

    如果这是不可能的,或者如果有人对Entity框架的替代解决方案有任何意见的话,我会更愿意接受这些想法。NHibernate或活性记录是更好的解决方案吗?还是更容易创建自己的业务对象和数据访问?

    干杯

    西蒙

    1 回复  |  直到 12 年前
        1
  •  6
  •   Justin Niessner    14 年前

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

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

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

    推荐文章