gpt4 book ai didi

c# - 使用具有鉴别器和多态性的 C# MongoDB v2 驱动程序

转载 作者:可可西里 更新时间:2023-11-01 09:13:34 25 4
gpt4 key购买 nike

Using C# MongoDB LINQ with discriminator准确描述了我正在尝试做的事情,但我正在尝试使用新的官方 2.0.1 驱动程序。

我有一系列子类,它们的特殊属性都继承自包含公共(public)属性的基类。鉴别器属性看起来不错,我已经使用子类型成功保存了混合文档。

我希望接下来能够做的是类似于以下的查询:

  var subsetB = db.GetCollection<BaseClass>("Documents").AsQueryable<BaseClass>().OfType<SubclassB>();

获取SubclassB类型的所有文档。但是,我找到的文档和文章中提到的 AsQueryable() 和 OfType() 方法似乎不可用。

我是否遗漏了什么,或者是否有其他推荐方法可以使用新驱动程序实现此目的?

最佳答案

没有对此的特殊支持。

您需要为鉴别器字段显式添加过滤器,_t

var results = await collection.Find(Builders<SubclassB>.Filter.Eq("_t", nameof(SubclassB))).ToListAsync();

关于c# - 使用具有鉴别器和多态性的 C# MongoDB v2 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178178/

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