gpt4 book ai didi

c# - Entity Framework TPT 继承子类型

转载 作者:行者123 更新时间:2023-11-30 16:53:36 25 4
gpt4 key购买 nike

如何确定具有 TPT 继承的实体的子类型?

如果我有一个基类 Person 和两个子类 Manager 和 Customer,应该可以查询所有的人,然后通过使用 GetType 方法按他们的子类分组,但返回的类型始终是人。例如:

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;
}

关于c# - Entity Framework TPT 继承子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com