我正在使用 FluentMongo 和 MongoDBCSharpDriver。我的代码在一段时间内运行良好,但在更新了 MongoCSharpDriver 后,我现在在尝试查询数据库时不断收到此错误:
“鉴别器只能为类注册,不能为接口 MyLib.Services.IRepoData 注册。”
该接口IRepoData
只是我用于保存到 MongoDB 的所有对象的接口。它只是为所有东西定义了 _id。这是中断的行:
var item = Collection.AsQueryable().SingleOrDefault(a => a.Id == itemID);
任何人都可以对此有所了解吗?如果我只使用.SingleOrDefault()
没有 lambda,那么它可以正常工作,它传递了一个破坏它的 lambda。
编辑
如果这有帮助...
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;
}