2012-03-13 8 views
2

私はWalkthrough: Mapping Inheritance - Table-per-Hierarchy (Entity Data Model Tools)をやっています。ObjectContext(階層あたりのテーブル)で派生したエンティティをクエリする

これはモデルです:

Entities Data Model

エンティティインストラクターと学生がBaseType人とタイプを導出しています。

問題は次のとおりです.LINQでInstructorとStudentエンティティを直接照会するにはどうすればObjectContextに表示されないのですか?

私はこのようsomenthigを行うには期待していた

:ctx.Students選択学生の学生から=

VaRの結果;

派生したエンティティは、ObjectSetとしてではなく、エンティティ(EntityObject)としてのみ存在するようです。

ありがとうございます!

答えて

1

あなたのために生成されたObjectContext classにはPeopleというプロパティが必要です。

var allPeople = ctx.People; 

それとも、あなたが特定の派生型をしたい場合、あなたはそのように、IQueryable<T>OfType extension methodを使用することができます:それthat's

var students = allPeople.OfType<Student>(); 
var instructors = allPeople.OfType<Instructor>(); 
+0

そこから、あなたはすべての基本型を得ることができます。ありがとう! – outlookrperson

関連する問題