在这种情况下:
[BsonDiscriminator(RootClass = true)]
[BsonKnownTypes(typeof(Child), typeof(Sibling))]
public class Parent { ... }
public class Child : Parent { ... }
public class Sibling : Parent { ... }
假设在同一个集合中保存了3个类,是否可以使用基于_t
类(Parent
)的集合读取从MongoDB生成的database.GetCollection<Parent>
字段?>
注意:我试图将string []数组放入Parent
类中,但是字段_t返回null
答案 0 :(得分:1)
根据documentation,您可以像这样进行过滤:
var filter = new BsonDocument("_t", "Cat");
您还可以使用LINQ OfType<Type>
将列表过滤为仅一种类型,或者可以测试C#对象类型来确定要执行的操作。
我不知道您是否可以直接“读取”字符串,但是C#中也提供了类型信息,所以我看不到您的需要。