Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Update trong Linq ?

17:30 15-01-2018 1.522 lượt xem 2 bình luận 07:58 16-01-2018

Chào bạn K-Long và tất cả ACE Kteam !

Mình dang code 1 dự án sử dụng mô hình 3 lớp và Linq to SQL.

Mình đang bị vấn đề như sau:

Ví dụ khi cập nhật lại 1 bản ghi thuộc đối tượng NhapHang có nhiều trường nhưng chỉ một vài trường thay đổi nếu mình khởi tạo biến đối tượng NhapHang sau đó chỉ gán lại một vài trường có thay đổi và truyền đối tượng đó xuống cho DAO. Update trong DAO thực hiện tìm (Find) đến bản ghi và thực hiện cập nhật xong thì các trường không gán sẽ bị ghi thành giá trị null hết.

Để giải quyết vấn đề này mình phải thay vì khởi tạo biến đối tượng HangHoa mình cho tìm (Find) đến bản ghi đó (có trả về đối tượng HangHoa sau khi tìm xong) và gán lại các trường cần thay đổi cho biến đối tượng vừa tìm được rồi truyền vào DAO cho hàm Update xử lý. Trong DAO này nó lại thực hiện tìm (Find) 1 lần nữa sau đó đổ giá trị truyền vào cho biến đối tượng tìm được rồi mới cập nhật. Và kết quá đúng ! Tuy nhiên cách này mỗi lần cập nhật 1 bản ghi chương trình phải Find 2 lần trong database !!!

Có cách nào chỉ cần Find 1 lần thôi mà vẫn cập nhật được không ? 

Xin chân thành cám ơn !

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 19:38 15-01-2018

thật ra bạn hỏi về Entity Framework phải k.

Nếu đúng:

Lấy ra record cần update

cứ update nó. rồi db.SaveChanges();

Câu hỏi mới nhất