1

LINQ to SQL とオブジェクト リレーショナル デザインの使用。class Animalと という名前の 2 つの継承されたクラスを持つ があるCatとしDogます。「Animal」クラスとそのプロパティを簡単にロードできます。

var animals = from a in dataContext.Animals
              select a;

Catただし、 orを読み込もうとするとDog、dataContext に or の属性がありませCatsDogs。独自の追加プロパティを使用してテーブルからaCatまたは aをロードするにはどうすればよいですか?DogAnimal

前もって感謝します。

4

2 に答える 2

2

新しい Cat または新しい Dog に投影する:

ネコ:

var animals = from a in dataContext.Animals
              select new Cat {
                  CatProperty = a.Property
              };

犬:

var animals = from a in dataContext.Animals
              select new Dog {
                  DogProperty = a.Property
              };
于 2013-06-17T07:36:34.900 に答える
2

次を使用しOfType<T>ます。

var dogs = from a in dataContext.Animals.OfType<Dog>()
              select a;

猫の場合:

var cats = from a in dataContext.Animals.OfType<Cat>()
              select a;

ここに示されているように

...そして完全な例はこちら

于 2013-06-17T07:41:19.227 に答える