4

使用带有鉴别器的 C# MongoDB LINQ准确描述了我正在尝试做的事情,但我正在尝试使用新的官方 2.0.1 驱动程序。

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

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

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

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

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

4

1 回答 1

3

对此没有特别的支持。

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

var results = await collection.Find(Builders<SubclassB>.Filter.Eq("_t", nameof(SubclassB))).ToListAsync();
于 2015-08-24T10:38:11.387 回答