将C#MongoDB v2驱动程序与鉴别符和多态性一起使用

鲍勃·吉尔

结合使用C#MongoDB LINQ和鉴别符可以准确描述我要执行的操作,但是我正在尝试使用新的官方2.0.1驱动程序。

我有一系列带有特殊属性的子类,这些子类均继承自包含公共属性的基类。鉴别器属性似乎很好,我已经成功使用子类型保存了混合文档。

我期望接下来可以做的是一个类似于以下内容的查询:

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

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

我是否错过了某些事情,或者是否有其他推荐的方法可以通过新驱动程序实现?

i3arnon

对此没有特殊支持。

您需要为区分字段明确添加过滤器_t

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用C#MongoDB将Int转换为String?

C#mongodb驱动程序groupby

C#MongoDB驱动程序:如何将新的子文档插入现有文档

使用C#MongoDB驱动程序尝试使用FindAll

C#MongoDB驱动程序-如何使用UpdateDefinitionBuilder?

C#MongoDB驱动程序忽略超时选项

如何从C#Mongodb驱动程序查询时间戳记?

使用c#Mongodb驱动程序查询和投影嵌套数组

如何在C#MongoDB驱动程序v2.0中获取连接状态?

我应该使用c#mongodb驱动程序的同步方法还是异步方法?

使用C#MongoDB驱动程序的嵌套数组$ pull查询

使用C#MongoDB驱动程序,如何序列化对象引用的集合?

使用C#Mongodb驱动程序在嵌套列表中查找项目

使用C#mongodb驱动程序取消设置多个属性

MongoDB:将$ sample与C#驱动程序一起使用

MongoDb C#驱动程序可以与LINQ和动态文档一起使用吗?

如何从C#Mongodb强类型驱动程序中的文档中加载特定字段

C#Mongodb驱动程序-如何在位置0的数组中插入元素

C#MongoDB驱动程序[2.7.0] CountDocumentAsync意外的本机查询

在C#mongodb驱动程序中制作一个唯一元素数组

Web API 2和Mongodb v2将示例代码迁移到使用驱动程序版本2

如何在C#MongoDB驱动程序聚合管道中使用正则表达式

如何使用C#MongoDB驱动程序编写嵌套对象属性不能相等的强类型过滤器?

将MongoDB与本机驱动程序和Express.js一起使用时,“拓扑被破坏”

C#MongoDB驱动程序:找不到在MongoDB中为AnyIn筛选器运行复杂查询的方法

如何将MongoDB驱动程序与C#ASP.NET Core API框架一起使用?

将UpdateOne与MongoDB Golang驱动程序一起使用时Upsert不起作用

将扩展的JSON与node.js mongodb本机驱动程序一起使用

如何在C#Mongodb强类型驱动程序中基于嵌套数组元素创建索引