2012-11-24 12 views
5

Aşağıdaki resimde de görüldüğü gibi, bir "Temel" sınıfı olan bir modelim var ve her iki varlık "Kunde" ve "Techniker" temel sınıfı devralıyor.ID ile miras alınan nesnenin bulunması - Varlık Çerçevesi

Şimdi sorun şu var. Türetilmiş bir sınıf Kunde nesnesinin kimliğine sahip bir nesne bulmak için Bul yöntemini kullanmaya çalıştığımda, bana OfType<TResult> bir yöntem olduğunu ve bu bağlamda geçerli olmadığını söyler.

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

Ben de OfType düşmesi denedim ama açıkçası nesne Kişi örtük Kunde dönüştürülebilir edilemeyeceğini söylüyor.

Burada eksik olduğum bir şey var mı?

cevap

1

Sadece iki parantez var:

OfType<Kunde>() 

Ama bu DbSet yöntemidir çünkü o zaman, bir daha Find kullanamaz. Single veya dbModel.PersonMenge.Find(id) as Kunde; kullanmanız gerekir.

+0

dbModel.PersonMenge.Find (id) 'yi Kunde olarak kullandıktan sonra; her şey mükemmel çalışıyor. – HansWurs