Làm cách nào để báo cho bối cảnh dữ liệu LINQ bỏ qua thuộc tính cụ thể hoặc tất cả thuộc tính chỉ đọc khi gắn kết kết quả được đặt thành đối tượng?Bỏ qua thuộc tính lớp chỉ đọc khi sử dụng DataContext.ExecuteQuery <T>
Tôi đang làm việc với một số câu lệnh T-SQL khó thể hiện bằng LINQ, vì vậy tôi đang sử dụng phương thức ExecuteQuery của ngữ cảnh dữ liệu để truyền T-SQL thẳng tới cơ sở dữ liệu.
Nếu lớp T của tôi có bất kỳ thuộc tính chỉ đọc nào, tôi có ngoại lệ khi chạy khi ngữ cảnh dữ liệu cố đặt các thuộc tính đó và không thành công vì không có thuộc tính setter. Làm cách nào để tôi nói ngữ cảnh bỏ qua các thuộc tính đó?
Đây là những gì tôi đang làm bây giờ. Nó hoạt động, nhưng nó hút:
public bool IsPaidInFull {
get { return NetTotal <= 0m; }
set { /* needed so linq doesn't choke. Should never be set by hand */ }
}
Tôi có thể là người đầu tiên đề xuất - "không _do_ đó" không? –
Đừng làm gì, chính xác? Cách giải quyết là một tội lỗi, và là không thể chấp nhận được, do đó bài viết của tôi ở đây. Nếu bạn có nghĩa là "không tìm cách bỏ qua các thuộc tính nhất định khi liên kết với tập kết quả", bạn có thể giải thích? –