MongoDB C# 驱动程序未找到方法 MongoDB.Bson.Serialization.BsonSerializationInfo ByRef

Bur*_*azi 1 c# serialization mongodb bson mongodb-query

我试图通过MongoDB使用C# driver(最新驱动程序版本 2.0.1.27)获得一些结果。

这就是我如何称呼 mongo :

 public static async Task < List < MomLogModel >> MomLogAr(MomLogArModel arama) {
     var asd = Builders < MomLogModel > .Filter.Where(a => a.SipID == arama.SipID);
     asd = asd & Builders < MomLogModel > .Filter.Where(a => a._id == arama._id);
     var donucek = await mongoContex.MomLog.Find(asd).ToListAsync().ConfigureAwait(false);
 }
Run Code Online (Sandbox Code Playgroud)

这是 MomLogModel 的类:

 public class MomLogModel {
    [BsonRepresentation(BsonType.ObjectId)]
    public string _id {
    get;
    set;
    }

    [BsonElement("g")]
    public BsonDocument gelen {
    get;
    set;
    }

    [BsonElement("t")]
    public DateTime YaratTarih {
    get {
        return DateTime.Now;
    }
    set {
        YaratilisTarih = value;
    }
    }

    [BsonElement("m")]
    public string MesajKod {
    get;
    set;
    }

    [BsonElement("re")]
    public bool Rar {
    get;
    set;
    }

    [BsonElement("kz")]
    public double KaZa {
    get;
    set;
    }

    [BsonElement("si")]
    public int SipID {
    get;
    set;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到以下错误:

Method not found: 'Boolean MongoDB.Bson.Serialization.IBsonArraySerializer.TryGetItemSerializationInfo(MongoDB.Bson.Serialization.BsonSerializationInfo ByRef)'.
Run Code Online (Sandbox Code Playgroud)

我已经尝试从模型中删除BsonRepresentation,但它没有解决问题。

也尝试更改它,但根本无法找出导致问题的原因。

Bur*_*azi 5

看起来,在我添加这个项目 dll 的项目中,我有 MongoDB.Bson,它的版本是旧版本。

因此,正如@CraigWilson 所建议的那样,有两个不同版本的引用导致了问题。

更新参考解决了该问题。