entity-framework - 没有外键的数据库上的 Entity Framework

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

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

我的问题是,有没有一种简单的方法可以在 Entity Framework (版本 1 或 2)内设置关系,而无需手动完成所有操作?

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

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

干杯

西蒙

最佳答案

如果您没有定义任何外键,则 Entity Framework 无法推断关系。您必须手动定义它们。

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

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

关于entity-framework - 没有外键的数据库上的 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2208249/

相关文章:

java - 使用 hibernate 更新 mysql 数据库时锁定行

c# - EntityFrameworkCore RoleManager FindByIdAsync 可以填充声明吗?

linq - 按子集合的子属性对 LINQ 查询进行排序?

c# - 应编译哪种类型的 Linq to SQL 查询?

Django - 在不查询数据库的情况下将对象转换为查询集

java - Hibernate EntityManager 不会在持久化时抛出 EntityExistsException

java - 业务对象和传输对象之间的区别?

c# - .Net 中基于列的数据绑定(bind)?

java - SAP BusinessObjects BI 4.0 中自定义 Java Web 应用程序的集成

c# - 使用 Entity Framework 从数据库中检索数据