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

发布于 2024-08-20 13:46:35 字数 354 浏览 6 评论 0原文

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

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

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

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

干杯

西蒙

I'm currently working with a large database (approx. 500 tables) all without any foreign keys define.

My question is there an easy way to set up the relationships within entity framework (version 1 or 2) without doing it all manually?

Also some of the tables have a complex relationship type. For example a customer has a parentID but this can either link to another customer in the same table (customerID) or link to an account in an account table (accountID). Is this kind of relationship possible in entity framework?

If this is not possible or if anyone has any opinions on an alternative solution to Enitity Framework I'm more than open to ideas. Will nHibernate or active record be a better solution? Or will it be easier creating my own business object and data access?

Cheers

Simon

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

宫墨修音 2024-08-27 13:46:35

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

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

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

If you don't have any Foreign Keys defined, then there's no way for the Entity Framework to infer relationships. You'll have to define them manually.

As for your second question...no. That kind of relationship is not possible (it's also a poor design choice).

It sounds to me like, unless you want to refactor your database and implement a design that has Foreign Key relationships, you're going to have to hand roll your own Business Objects and Data Access Layer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文