在我的 asp.net mvc 3 应用程序中,我使用存储库模式。 我有 3 个实体:公司、国家/地区、城市。他们每个人都有自己的存储库。公司实体具有FoundedCountry 和FoundedCity 外键。 现在在 View 中,我想显示公司详细信息。在此 View 中,我想查看公司详细信息以及FoundedCountry名称和FoundedCity名称。在我看来,我必须用一种 JOIN 查询来处理这个问题。但我一直不知道如何在存储库模式中实现这一点。我如何在存储库模式中处理此 JOIN?
谢谢。
最佳答案
存储库应该有一个基于任务的界面。这意味着 ORM、连接等都位于存储库内。应用程序只看到一个接口(interface),该接口(interface)返回一个它可以使用的对象。
这意味着您不会围绕表创建存储库(这几乎违背了目的)。在您的场景中,我建议您(至少)有 2 个存储库:一个将处理与更新模型相关的所有内容,另一个将仅提供读取(查询)服务。
这意味着查询存储库将仅返回您想要的数据(它基本上返回 View 模型位)。当然,实际的表和连接是存储库的实现细节。
关于asp.net-mvc - 如何使用存储库模式查询交叉表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288695/