MongoDb: невозможно десериализовать «ObjectId» из BsonType «Int32»

Я создаю простой класс:

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

    [BsonRepresentation(BsonType.String)]
    public String Name { get; set; }

    [BsonRepresentation(BsonType.String)]
    public string Email { get; set; }
}

И затем я пытаюсь получить коллекцию пользователей:

  using (var cursor = await col.Find<User>(Builders<User>.Filter.Empty).ToCursorAsync())
            {
                while (cursor.MoveNext())
                {
                   //do work
                }
            }

Таким образом, возникает исключение: «Невозможно десериализовать« ObjectId »из BsonType« Int32 »» в строке «ToCursorAsync ()».

Что я делаю неправильно?


person Admiral Land    schedule 18.01.2018    source источник
comment
Скорее всего дело в декоре. См. Ссылку: stackoverflow.com/questions/38871416/   -  person Brandon Amador    schedule 19.01.2018
comment
Скорее всего, в вашей коллекции есть документ с цифрой _id, а не ObjectId.   -  person Kirk Larkin    schedule 19.01.2018