0

ここのチュートリアルに従ってmongodbでC#でlinqを使用しようとしていますhttp://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/

私は持っている:

  1. MongoDB.Driver.Linq の using ディレクティブ
  2. 標準の ObjectId Id フィールドのみを提供する別のクラスを継承する、いくつかのフィールドを持つクラス。
  3. Connection.GetCollection を取得したタイプ MongoCollection の前記クラスのコレクションへの参照
  4. 最後に、私のクエリ - from item in MyCollection.AsQueryable() select item;

コンパイラは、「エラー: クエリ パターンの実装が見つかりませんでした...」と不平を言います。

何が欠けている?

- -編集 - -

問題を説明するために、ここでコードを最小化しました-

// .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;
        }
    }
}
4

2 に答える 2

0

Linq プロバイダーを見つけるには、プロバイダーの using ステートメントだけでなく、System.Linq 自体も必要です。

于 2014-03-24T10:07:09.713 に答える