在 ADO.NET Entity Framework/MySQL 中通过外键导航

发布于 2024-08-29 21:56:24 字数 499 浏览 4 评论 0原文

我在 VS2008 中的 MySQL 数据库之上使用 ASP.NET MVC2。我使用 MySQL ADO.NET 连接器 6.2.3 为 ADO.NET 实体数据模型提供连接。

这基本上工作正常,但是通过外键导航让我非常头痛!

这是一个简化的示例。

汽车(表)
CarID PK
颜色

制造商 ID FK

制造商(表)
制造商 ID PK
名称

在 edmx 文件中,我可以看到一对多关系在汽车和制造商表中显示为导航属性。我创建了一个 Models.CarRepository,它允许我返回 IQueryable。

在视图中,我希望能够显示每辆车的Manufacturer.Name。这是无法通过我返回的对象访问的。

实现这一点的最佳方法是什么?我是否遇到过实体框架/MySQL 组合的限制?

I am using ASP.NET MVC2 on top of a MySQL database in VS2008. I am using the MySQL ADO.NET connector 6.2.3 to provide the connection for the ADO.NET Entity Data Model.

This is mostly working ok, however navigating via foreign keys is causing me a real headache!

Here is a simplified example..

Car (Table)
CarID PK
Colour
Doors
ManufacturerID FK

Manufacturer (Table)
ManufacturerID PK
Name

In the edmx file I can see the 1-many relationship shown as a navigation property in the both the Car and Manufacturer tables. I create a Models.CarRepository that allows me to returns a IQueryable.

At the View I want to be able to display the Manufacturer.Name for each car. This is not accessible via the object I get returned.

What is best way to implement this? Have I encountered a limitation of the Entity Framework/MySQL combination?

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

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

发布评论

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

评论(1

不语却知心 2024-09-05 21:56:25

需要在模型存储库中启用相关记录的预加载。类似于:

var allCars = from c in automobileEntites.Car.Include("Manufacturer")
              select c;

这使得相关记录可用于后续查询/显示。

Eager loading of the related records needs to be enabled in the Model Repository. Something like:

var allCars = from c in automobileEntites.Car.Include("Manufacturer")
              select c;

This then makes the related records available for subsequent query/display.

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