你能在EF上对映射到存储过程的实体进行实体继承吗?

时间:2011-09-27 17:33:16

标签: c# .net sql entity-framework entity-framework-4

我对实体框架4中的继承有疑问。我们使用的是数据库优先方法,并希望重构我们的模型以使用继承。这是一个白板模拟了我们想在模型中使用的层次结构。

Image 1

如果这些涂鸦不是很易读,那就是这样的。

USER< - PROVIDER
用户< - 供应商
PROVIDER< - EMPLOYEE

因此USER是提供商和供应商的基类。员工然后从提供者继承。

我发现了几篇描述Table-Per-Hierarchy继承和Table-Per-Type继承的精彩文章。

它们似乎很简单,但两种方式都需要将实体映射到一个或多个表。如果您有一个完全映射到存储过程的实体怎么办?

Image 2

即使实体映射到存储过程,是否仍然可以在EF中继承?那怎么样?我们需要什么样的存储过程才能实现这一目标?

如果有可能我们真的需要指向正确的方向。

2 个答案:

答案 0 :(得分:1)

我进行了搜索和搜索,最后得出的结论是,无法对映射到存储过程的实体进行继承。因此,除非有人能证明不是这样,否则我将此标​​记为答案。

答案 1 :(得分:0)

我在MVC项目中使用完全存储过程映射的存储库体系结构。因为我们没有使用实体框架,而是使用Microsoft Enterprise Library。我们正在使用它的方法。根据我的经验,存储库仅包含使用存储过程进行数据操作的方法。表格映射到模型。 ViewModel是自定义Model类,用于处理在项目中定义为custom的属性。有一个服务层来分隔控制器和存储库。所以我认为你可以采用完全映射到存储过程的存储库方法