为什么linq找不到mongodb的实现?
本文关键字:实现 mongodb linq 找不到 为什么 | 更新日期: 2023-09-27 17:50:47
我正在尝试使用linq在c#与mongodb每教程这里http://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/
我:
- MongoDB.Driver.Linq的using指令
- 一个有几个字段的类,继承另一个只提供标准ObjectId Id字段的类。
- 对所述类的集合的引用,该类的类型为MongoCollection。GetCollection
- 最后,我的查询-从项目在MyCollection.AsQueryable()选择项目;
编译器报错:Could not find a implementation of The query pattern.
缺少什么?
——编辑——
我已经最小化了这里的代码来说明问题-
// .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;
}
}
}
你缺少可查询的类型,至少在看了教程链接后我是这么认为的。如果是对MongoCollection
的查询,我认为您的查询应该是:
var query = from item in MyCollection.AsQueryable<MongoCollection>() select item;
为了找到Linq提供程序,不仅要有提供程序的using语句,还要有System语句。Linq本身。