簡體   English   中英

[EDMX]映射表拆分

[英][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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM