我对实体框架4中的继承有疑问。我们使用的是数据库优先方法,并希望重构我们的模型以使用继承。这是一个白板模拟了我们想在模型中使用的层次结构。
如果这些涂鸦不是很易读,那就是这样的。
USER< - PROVIDER
用户< - 供应商
PROVIDER< - EMPLOYEE
因此USER是提供商和供应商的基类。员工然后从提供者继承。
我发现了几篇描述Table-Per-Hierarchy继承和Table-Per-Type继承的精彩文章。
它们似乎很简单,但两种方式都需要将实体映射到一个或多个表。如果您有一个完全映射到存储过程的实体怎么办?
即使实体映射到存储过程,是否仍然可以在EF中继承?那怎么样?我们需要什么样的存储过程才能实现这一目标?
如果有可能我们真的需要指向正确的方向。
答案 0 :(得分:1)
我进行了搜索和搜索,最后得出的结论是,无法对映射到存储过程的实体进行继承。因此,除非有人能证明不是这样,否则我将此标记为答案。
答案 1 :(得分:0)
我在MVC项目中使用完全存储过程映射的存储库体系结构。因为我们没有使用实体框架,而是使用Microsoft Enterprise Library。我们正在使用它的方法。根据我的经验,存储库仅包含使用存储过程进行数据操作的方法。表格映射到模型。 ViewModel是自定义Model类,用于处理在项目中定义为custom的属性。有一个服务层来分隔控制器和存储库。所以我认为你可以采用完全映射到存储过程的存储库方法