繁体   English   中英

实体框架TPT继承子类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM