Tôi có một webapi trả về một đối tượng chứa một số bộ sưu tập các đối tượng cũng chứa một bộ sưu tập các đối tượng. Mỗi đối tượng này có một bool đại diện cho nếu đối tượng được 'xuất bản' Xem các lớp dưới đây cho ý tưởng chung.Giới hạn các đối tượng trong một tập hợp được sắp xếp theo thứ tự dựa trên User
public class A {
public int ID { get; set; }
public List<B> b { get; set;}
}
public class B {
public List<C> c { get; set; }
public List<D> d { get; set; }
public bool published { get; set; }
}
public class C {
public string Title { get; set; }
public bool published { get; set; }
}
public class D {
public string Title { get; set; }
public bool published { get; set; }
}
cách tốt nhất là gì để làm cho nó như vậy khi tôi serialize bất kỳ của các đối tượng mà một chưa được công bố đối tượng trẻ em được không bao gồm nếu người dùng không đáp ứng được yêu cầu này, IE không ở trong một vai trò cụ thể. Tôi có thể thêm các thuộc tính dữ liệu vào mô hình của mình theo một cách nào đó không? Tôi đã có một cái nhìn vào sử dụng một tùy chỉnh IContractResolver
nhưng tôi không chắc chắn nó là cách tốt nhất để xử lý các đối tượng lồng nhau. Tôi có nên xử lý điều này trong giai đoạn serializing hay tôi nên loại bỏ các đối tượng chưa được xuất bản từ các trẻ em sau khi tôi nhận được đối tượng từ cơ sở dữ liệu.
Tôi tự hỏi liệu có cách nào chỉ tải dữ liệu có liên quan đến vai trò của người dùng đó hay không, theo cách đó bạn không phải lo lắng về việc phân tích cú pháp nó vào thời gian tuần tự hóa. – Prescott
Tôi đã không đọc toàn bộ văn bản của bạn- Bạn có lý do để đưa tất cả dữ liệu xuống dưới dạng cơ sở dữ liệu không? Giả sử dữ liệu duy nhất được yêu cầu là dữ liệu cho vai trò của chúng - trừ khi bạn có một số lý do khác để đưa dữ liệu xuống từ db, tôi sẽ làm việc trên một giải pháp chỉ truy vấn dữ liệu cần thiết. – Prescott
Bạn có cần bất kỳ đối tượng 'chưa được xuất bản' nào ở bất kỳ nơi nào trong mã của bạn ngoài các giai đoạn tuần tự hóa không? –