2017-09-21 30 views
-1

有兩個表:TeachersStudents它們都可以從基類Human派生。通用表加載EntityFramework

可能會從TeacherStudent類加載DbSet<Human>類?並執行通用功能,例如通用將

僞代碼:

class Student : Human 
{ 
    // 
    // 
    // 
    DbSet<Human> GenericLoading(...) 
    { 
     // 
    } 
} 

使用通用DbSet的:

void Insert<T>(DbSet<T> entities, string name, int age) where T: new(),Human 
{ 
    entities.Add(new T{ Name = name, Age = age }); 
} 

任何幫助,將不勝感激。

回答

0

你可以使用IQueryable.Concat創建聯合查詢,如果是有關加載數據:

var teacherQuery = db.Teacher.Select(e => new Person {...}) 
var studentQuery = db.Student.Select(e => new Person {...}) 
var combinedQuery = teacherQuery.Concat(studentQuery); 

我不知道你怎麼可以插入,如果客人不願意知道確切性質。

相關問題