Tôi hiện có một mô hình có dữ liệu hiện có cũng như dữ liệu mới.cách lưu mô hình có dữ liệu hiện có cũng như dữ liệu mới?
Là một ví dụ này là mô hình của tôi
public class NameDetails
{
public int Id { get; set; }
public string Name { get; set; }
}
Đây là dữ liệu giả rằng nó hiện đang có
List<NameDetails> Names = new List<NameDetails>{
new NameDetails{Id = 1, Name = "Name 1"},
new NameDetails{Id = 2 , Name = "Name 2"},
};
Bây giờ giả sử tôi cần phải tiết kiệm này vào một cơ sở dữ liệu .. Tôi đã có id = 1 trong bảng, do đó, đó phải là một bản cập nhật mà như id = 2 nên là một add ... làm thế nào tôi có thể làm điều đó?
Trước đây khi tôi đã viết tiết kiệm sử dụng một kho lưu trữ tôi đã làm một trong hai một add hoặc chỉnh sửa Thêm như vậy,
context.NameDetails.Add(NameDetails);
context.SaveChanges();
hoặc Sửa như vậy,
var recordToUpdate = context.NameDetails.FirstOrDefault(x => x.Id== 1);
recordToUpdate.Name = "New name";
context.SaveChanges();
nên đó có nghĩa là Tôi phải lặp lại danh sách của mình và tìm ra cái gì mới và cái gì không phải .. hoặc có cách nào khác không?
Bạn chỉ có 2 tùy chọn: - Truy vấn cơ sở dữ liệu để tìm hiểu xem đối tượng đã tồn tại chưa. Hoặc - Để đối tượng giữ một số thuộc tính để xác định xem nó có mới hay không (ví dụ Id = 0) – Reda
Không chắc chắn nó có thực sự phù hợp hay không, nhưng bạn lấy giá trị Id từ 2 cho bản ghi mới ở đâu? –
@ user2266486 Hoặc thực hiện một thủ tục được lưu trữ để thực hiện một upsert, nhưng tôi tự hỏi nếu không có nhiều câu hỏi/vấn đề này –