什么是抽象类型?

时间:2010-10-10 16:20:12

标签: c# entity-framework

实体框架继承的上下文中的抽象类型是什么?

2 个答案:

答案 0 :(得分:0)

抽象类型是无法实例化的类型/类。这意味着您无法从此类创建对象。如果你有一个抽象类'foo',你不能调用new foo()(Java示例代码)。有关抽象类型的更多信息,请参阅wiki

答案 1 :(得分:0)

抽象类的重点是从它继承并且不能直接在实例中创建。

所以在实体框架中,它表示将几个表中的数据规范化为一个公共表,然后通过表继承使用一组具有不同类型的对象,这些对象可以作为一种类型进行tret。

假设你有一个名为object的抽象类,以及一些在表中有数据的继承者......

然后你可以写这样的东西

var results = from i in dataContext.Objects.OfType<Foo>()
              select i

你也可以这样做

var results = from i in dataContext.Objects
                  select i

您将获得一个抽象类Object的集合,其中每个成员都是一个继承自object的类的实例。

这意味着您可以在子类型中具有共同行为或覆盖行为。它在正确的地方非常强大......例如交易类型或支付方式类型。