[英][EDMX]Mapping table splitting
我正在使用POCO與Entity Framework 4.1合作。 我想映射表Employees:
EmployeeID
LastName
FirstName
ManagerID
IsManager
(使用Employee表中的ManagerID自反關聯)
在
EmployeeBase抽象類包含
EmployeeID
LastName
FirstName
當IsManager為false時,Employee類(繼承EmployeeBase)包含
ManagerID
當IsManager為true時,Manager類(繼承EmployeeBase)
我的問題是,在上下文TT我只有DbSet<EmployeeBase>
。 如何生成DbSet<Employee>
和DbSet<Manager>
?
您不能為派生類型使用DbSet
。 它是繼承映射的工作方式。 您始終只有基本類型的DbSet
,如果您只想為子類型運行查詢,您將使用OfType
擴展方法。
在你的情況下:
var query1 = context.Employees; // returns all employes and managers
var query2 = context.Employees.OfType<Employee>(); // returns only employees
var query3 = context.Employees.OfType<Manager>(); // returns only managers
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.