LINQ到SQL,从继承的类中选择
本文关键字:选择 继承 SQL LINQ | 更新日期: 2023-09-27 18:18:52
LINQ to SQL与对象关系设计假设我们有一个class Animal
,它有两个继承的类,命名为Cat
和Dog
。我们可以很容易地加载"Animal"类和它的属性:
var animals = from a in dataContext.Animals
select a;
然而,当试图加载Cat
或Dog
时,dataContext既没有Cats
也没有Dogs
的属性。如何从表Animal
加载Cat
或Dog
与他们自己的额外属性?
提前感谢。
使用OfType<T>
:
var dogs = from a in dataContext.Animals.OfType<Dog>()
select a;
对于猫:
var cats = from a in dataContext.Animals.OfType<Cat>()
select a;
如这里所示
…这里有一个完整的例子
项目到一个新的猫或新的狗:
猫:
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
};