[英]Entity Framework TPT Inheritance Subtypes
如何确定具有TPT-Inhertiance的实体的子类型?
如果我有一个基类Person和两个子类Manager和Customer,则应该可以查询所有人,然后通过使用GetType-Method按子类分组,但返回的类型始终是person。 例如:
var persons = ctx.Persons.ToList();
var managers = persons.Where(x => x.GetType() == typeof(Manager)).ToList();
选择:
var managers = ctx.Persons.OfType<Manager>().ToList();
如果你不知道你有什么,也很有用
var persons = ctx.Persons.ToList();
Type modelType = persons.First().GetType();
if (modelType.BaseType == typeof(Manager))
{
((Manager)persons.First()).GiveNeilAPayRise = true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.