有没有办法获取" _t"的价值?从MongoCollection.AsQueryable()
查询LINQ时文档中的元素?
我试过这个:
_collection.AsQueryable()
.Where(t => t.ToBsonDocument()
.GetValue("_t") == "someValue");
但我得到例外:
无法确定表达式的序列化信息: BsonExtensionMethods.ToBsonDocument(t)的.GetValue(" _t&#34)。
答案 0 :(得分:0)
不,您无法直接访问_t
中的值。但是,您可以使用LINQ
使用GetType
或is
来查询值:
_collection.AsQueryable().Where(doc => doc is Hamster);
_collection.AsQueryable().Where(doc => doc.GetType() == typeof(Squirrel));
这将生成以下查询:
{
_t : "Hamster"
}
{
_t : "Squirrel"
}