FluentMongoとMongoDBCSharpDriverを使用しています。私のコードはしばらくの間うまくいきましたが、私のMongoCSharpDriverを更新した後、データベースにクエリを実行しようとするとこのエラーが発生しています:FluentMongoが突然エラーを投げる
"DiscriminatorsはMyLib.Servicesインターフェイスではなく、クラスに対してのみ登録できます。 IRepoData "
インターフェイスIRepoData
は、私がMongoDBに保存したすべてのオブジェクトに使用するインターフェイスです。それはすべてのために_idを定義するだけです。ここに破りつつある線があります:
var item = Collection.AsQueryable().SingleOrDefault(a => a.Id == itemID);
誰かがこれを軽視できますか?私がちょうどラムダなしで.SingleOrDefault()
を使用すれば、それはうまく動作します、それを破るラムダを渡します。
EDITは、このことができます場合
...
var Collection = GetCollection<MyClass>();
private MongoCollection<T> GetCollection<T>() where T : class, new()
{
string typeName = typeof(T).Name;
var collection = db.GetCollection<T>(typeName, safeMode);
return collection;
}