我正在尝试按照此处的教程在 C# 中使用 linq 和 mongodb http://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/
我有:
- MongoDB.Driver.Linq 的 using 指令
- 一个有几个字段的类,继承了另一个只提供标准 ObjectId Id 字段的类。
- 对 MongoCollection 类型的集合的引用获得 Connection.GetCollection
- 最后,我的查询 - 从 MyCollection.AsQueryable() 中的项目中选择项目;
编译器抱怨错误:找不到查询模式的实现......
什么不见了?
- -编辑 - -
我已将此处的代码最小化以说明问题-
// .Net
using System.Collections.Generic;
// 3rd Party
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
using MongoDB.Driver.Linq;
namespace Chess2.Server {
public static partial class Database {
internal static MongoCollection<Document> Collection =
GetCollection<Document>();
}
public class Document {
public ObjectId Id;
public int Field;
public static IEnumerable<Document> Waiting() {
// HERE IS THE LINQ THAT DOESN"T WORK
return from item in
Database.Collection.AsQueryable<Document>()
where item.Field > 0
select item;
}
}
}