Tôi muốn thêm một số hàng vào cơ sở dữ liệu bằng Linq vào SQL, nhưng tôi muốn thực hiện "kiểm tra tùy chỉnh" trước khi thêm các hàng để biết liệu tôi có phải thêm, thay thế hoặc bỏ qua các hàng không liên quan hay không. Tôi muốn giữ các đề tài giữa máy khách và máy chủ DB càng thấp càng tốt và giảm thiểu số lượng truy vấn.
Để làm điều này, tôi muốn lấy ít thông tin theo yêu cầu để xác thực và chỉ một lần khi bắt đầu quá trình.
Tôi đã nghĩ làm một cái gì đó như thế này, nhưng rõ ràng, nó không hoạt động. Bất cứ ai có một ý tưởng?
Dictionary<int, DateTime> existingItems =
(from ObjType ot in TableObj
select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
)
Những gì tôi muốn có ở cuối sẽ là một Từ điển, mà không phải tải xuống toàn bộ các đối tượng ObjectType từ TableObject.
Tôi cũng đã xem xét mã sau đây, nhưng tôi đã cố gắng tìm một cách thích hợp:
List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
existingItems.Add(keys[i], values[i]);
}