2012-11-24 66 views
5

正如您在下图中看到的,我有一个基类为“Person”的模型,并且实体“Kunde”和“Techniker”都继承了基类。现在通过ID查找继承对象 - 实体框架

我有以下问题。当我尝试使用方法Find来获取具有给定ID的派生类Kunde的对象时,它告诉我OfType<TResult>是一种方法,并且在此上下文中无效。

public Kunde GetById(int id) 
{ 
    return dbModel.PersonMenge.OfType<Kunde>.Find(id); 
} 

我也试过放弃OfType,但它显然告诉我,对象Person不能隐式转换为Kunde。

有什么我在这里失踪?

回答

1

它只有两个括号:

OfType<Kunde>() 

但你不能使用任何Find更多,因为这是DbSet的方法。您必须使用SingledbModel.PersonMenge.Find(id) as Kunde;

+0

谢谢,使用dbModel.PersonMenge.Find(id)作为Kunde;一切都很好。 – HansWurs