2010-11-03 37 views
12

Bir ana varlık "Firma" ve Firma'dan devraldığı bir avuç çocuk varlığım olduğunu varsayalım. Çocukların "RedFirm", "GreenFirm" ve "BlueFirm" olarak adlandırıldığını varsayarak, yalnızca RedFirm ve GreenFirm örneklerini almak istiyorsam Firma koleksiyonunu sorgulamanın doğru yolu nedir?Varlık Çerçevesi OfType()

context.Firms.OfType(RedFirm) yapabildiğimi biliyorum, ancak bu yalnızca RedFirm örneklerini döndürür. OfType'a ya da buna benzer bir şeylere bir dizi koleksiyon aktarmak için var mı? Sanırım bu bir birlikle yapılabilir, ancak bunun daha az verimli olacağını düşünürdüm.

cevap

20
context.Firms.Where(x => x is RedFirm || x is GreenFirm); 
7

Sen gibi bir şey yapabileceğini:

context.Firms.Where(item => (!(item is BlueFirm))); 
1
context.Firm.OfType<RedFirm>()./Rest of the query/ 

Bu kullanıcı OfType yoludur