【发布时间】:2010-07-16 13:58:01
【问题描述】:
我的公司对所有 SELECT 操作都使用存储过程,因此我很难创建合理的导航属性。在这一点上,我不太关心它们是否延迟加载。
例如,我为客户创建了一个实体,然后创建了一个 FunctionImport 来映射 GetAllCustomersSP 以返回客户实体的集合。但我想要每个客户实体上的导航属性“订单”。
但是如果我使用 Customer 实体分部类来添加这个属性,问题是我无法访问原始 Context,所以我无法显式或延迟调用 GetCustomerOrdersSP。
我能看到的唯一选择是修改我的存储库以显式添加这些属性,这似乎很蹩脚,因为它将实体逻辑放入存储库。
这里有什么我遗漏的吗?我可以在实体模型设计器中看到我可以指定自定义插入、更新、删除 SP,但我没有看到任何使用选择 SP 来实际检索数据的方法。
【问题讨论】:
-
有人对此有见解吗?
-
将 SP 与 ORM 结合使用并不是一个理想的情况,当您仅限于使用 SP 时,有时最好遵循更传统的 DTO 数据策略...
标签: c# entity-framework stored-procedures ado.net