C# 视图和表之间的实体框架映射关联

C# 视图和表之间的实体框架映射关联,c#,entity-framework,C#,Entity Framework,我可以直观地映射1:1(一对一)表,如下所示: 但我无法理解如何在表和视图之间进行相同的映射,就像这样 在该图中,表示了两个实体。如果我在实体模型中手动创建关联,并按如下方式设置其映射: 然后我得到一个错误: 错误3021:映射从第172行开始的片段时出现问题:表视图_EmployeeView中的以下每列都映射到多个概念侧属性: view_EmployeeView.EmployeeID映射到Employeesview_EmployeeView.Employees.id,Employeesv

我可以直观地映射1:1(一对一)表,如下所示:

但我无法理解如何在表和视图之间进行相同的映射,就像这样

在该图中,表示了两个实体。如果我在实体模型中手动创建关联,并按如下方式设置其映射:

然后我得到一个错误:

错误3021:映射从第172行开始的片段时出现问题:表视图_EmployeeView中的以下每列都映射到多个概念侧属性: view_EmployeeView.EmployeeID映射到Employeesview_EmployeeView.Employees.id,Employeesview_EmployeeView.view_EmployeeView.EmployeeID


为什么我不能在表关联中得到这个错误?我如何解决这个问题?我想在视图中放置一些计算出的信息,但在需要时使用.Include()函数显式连接到它。

要映射两个实体之间的关联,外键不能同时是主键

这里真正拥有的是TPT继承。在第二个表(或视图)中有一个“基类”,以及可选的附加属性

观看此视频:


使“视图”实体从员工实体继承。从视图实体中删除EmployeeID属性。将视图的EmployeeID列映射到基本员工的ID属性。您将在此层次结构的ObjectContext中获得一个ObjectSet。

很好,它验证了模型,我可以在域服务类中看到我的实体,但它没有为this.ObjectContext.MyClass定义,因此我找不到为SL和视图管理该实体的方法。设计器类看起来与其他实体一样,只是继承自基类而不是实体。。。2014年:)