tôi đã có kết quả từ bộ sưu tập tại Mông Cổ, cấu trúc cũng giống như thế nàytử 'Id' không phù hợp với bất kỳ lĩnh vực hay tài sản của lớp
[DataContract]
public class Father
{
[BsonId]
[DataMember]
public MongoDB.Bson.ObjectId _id { get; set; }
[DataMember]
public string Id { get; set; }
[DataMember]
public List<Child> childs { get; set; }
}
[DataContract]
public class Child
{
[DataMember]
public string Id { get; set; }
[DataMember]
public int Name { get; set; }
}
Khi tôi cố gắng này:
List<Father> f = result.ToList();
Gọi số Element 'Id' does not match any field or property of class Model.Child
Tôi nghĩ rằng chỉ cần 'Id' là một thứ khác.
Làm cách nào để xử lý? Cảm ơn bạn
Bạn có thể cho một danh sách đầy đủ hơn của mã đó gây ra ngoại lệ này? Ví dụ, kết quả là gì? Ngoài ra, bạn có thể cho chúng tôi thấy tài liệu trông như thế nào trong cơ sở dữ liệu hay không (tốt nhất là ở định dạng json). –
Tôi giải quyết vấn đề này bằng cách thêm một _id trong lớp con như tôi đã làm trong lớp chính. Tôi đoán, tất cả các ducument cần một 'id'.And nếu tôi không xác định một, hệ thống sẽ nghĩ rằng có một' _id 'trong lớp. Điều đó khiến tôi không thể chuyển tài liệu sang 'Danh sách'. –
EasonBlack
Xem các tùy chọn tuần tự hóa http://www.mongodb.org/display/DOCS/CSharp+Driver+Serialization+Tutorial - bạn có thể đánh dấu bất kỳ thuộc tính nào là id, nó không phải là '_id' chẳng hạn – Alex