如何检查表中是否有特定类的iinstances?

时间:2015-06-12 11:50:17

标签: c# entity-framework

我的课程Client来自Person。 在Seed方法中,当我想用​​Person对象填充表时,我问:

  if (!context.Person.Any()) 

我使用Table Per Hierarchy映射,表中有鉴别器。

如何询问Person表中是否有客户?

3 个答案:

答案 0 :(得分:1)

你可以做到

if (context.Person.Any(p => p is Client))
如果context.PersonPerson个对象的枚举,并且其中任何一个都是Client对象,

将返回true。如果这不是您所需要的,我希望至少它会告诉您足够的信息来自己完成其余的事情:)

答案 1 :(得分:1)

使用OfType<T>方法将查询限制为仅限特定类型的结果:

if (!context.Persons.OfType<Client>().Any())

答案 2 :(得分:0)

您应该可以使用OfType<T>扩展名menthod。 所以你会有一些像:

 if (!context.Person.OfType<Client>.Any()) {
    //do something here
 }