gpt4 book ai didi

entity-framework - 从对基类的请求中排除派生实体

转载 作者:行者123 更新时间:2023-12-03 22:12:49 25 4
gpt4 key购买 nike

我有这个 DbContext:

public class DataContext : DbContext
{
public DbSet<Base> Bases {get;set}
public DbSet<Sub> Subs {get;set}
}
SubBase 的子类。

当我像这样查询 Base 实体的列表时:
Context.Bases.ToListAsync()

它返回每个实体,无论是 Base 还是 Sub

如何配置我的模型上下文以仅获取 Base 类型的实体,而不是从它派生的实体。

最佳答案

你必须使用 OfType<T> :

var basesOnly = await _context.Bases.OfType<Base>().ToListAsync();

更新

那不好意思了。我可以发誓上述作品,但它没有。我能想到的下一个最好的方法是简单地过滤掉你不想要的类型。这并不理想,因为它需要在您的查询中指定所有子类型,这意味着如果您添加更多子类型,您需要记住更新它。
var basesOnly = await _context.Bases.Where(x => !(x is Sub)).ToListAsync();

关于entity-framework - 从对基类的请求中排除派生实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53063491/

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