2011-01-18 3 views
1

У меня есть Entity Framework модель, подобную этой:Entity Framework Наследование - определить тип объекта

  1. Человек
  2. Сотрудник (Inherits Person)
  3. Контакт (Inherits Person)

I может добавлять, запрашивать (используя OfType) и обновлять сотрудников и контактов без проблем. Однако я не могу определить, какой тип объекта Person. Скажем, например:

var person = entities.People.Single(p => p.Id == 5); 

Как я могу это сделать:

if (person.IsEmployee){ 
//do something 
} else if (person.IsContact) { 
// do something else 
} 

С другой стороны, я могу согласиться на это:

if (person.IsOfType<Employee>()){ 
// do something 
} else if (person.IsOfType<Contact>()) { 
// do something else 
} 

Есть ли способ?

ответ

11
if (person is Employee){ 
//do something 
} else if (person is Contact) { 
// do something else 
} 
+0

действительно? так просто? –

+0

О, ничего себе! Я чувствую себя глупо... –

Смежные вопросы