- Việc thêm thuộc tính mới vào đối tượng dữ liệu của bạn không thể dễ dàng hơn. Bạn chỉ cần thêm chúng. Trừ khi bạn lo lắng về các thuộc tính này là rỗng đối tượng tồn tại trong cơ sở dữ liệu, bạn không phải làm bất cứ điều gì khác. Nếu một số người dùng/máy sử dụng phiên bản cũ hơn của ứng dụng của bạn và các lớp học của bạn đã được đánh dấu bằng BsonIgnoreExtraElementsThuộc tính, họ thậm chí có thể không cần phải cập nhật phần mềm của họ .
- Xóa các thuộc tính lỗi thời không thể dễ dàng hơn. Bạn chỉ cần xóa chúng trong lớp học của bạn. Nếu các lớp học của bạn được đánh dấu bằng BsonIgnoreExtraElementsAttribute, thì bạn thậm chí không phải xóa chúng trong cơ sở dữ liệu của mình (trong trường hợp, ví dụ: người dùng của bạn có một số phiên bản của ứng dụng).
- Đổi tên thuộc tính lớp cũng dễ dàng. Phương thức khởi tạo BsonElementAttribute có một tham số, vì vậy bạn có thể ánh xạ nó tới tên thuộc tính chính xác trong cơ sở dữ liệu.
- Thay đổi loại thuộc tính có thể yêu cầu bạn chạy bản cập nhật trên dữ liệu của mình. Nhưng nghiêm túc, tần suất bạn thay đổi loại tài sản từ chuỗi thành int trong sản xuất?
Vì vậy, trong nhiều trường hợp, bạn thậm chí sẽ không cần chạy cập nhật dữ liệu của mình (trừ khi bạn thay đổi loại dữ liệu hoặc thuộc tính ảnh hưởng đến chỉ mục). Một điểm nữa là việc thêm BsonIgnoreExtraElementsAttribute thường là một thực hành tốt, đặc biệt nếu bạn lo lắng về các thuộc tính được thêm vào và/hoặc bị loại bỏ thường xuyên. Theo thực hành này, bạn có thể cung cấp các phiên bản cũ hơn và mới hơn của ứng dụng của bạn để làm việc với tất cả các phiên bản của hồ sơ, tận hưởng những lợi ích của "schemalessness".
Nguồn
2012-03-07 00:06:45
Đối tượng hoàn toàn mới, câu hỏi hay .. nhưng có thể thuộc về programmers.stackexchange.com vì nó mang tính khái niệm hơn về bản chất so với "vấn đề" bình thường để giải quyết. – NotMe