นี่อาจเป็นคำถามเล็กน้อย แต่: เนื่องจากเฟรมเวิร์กเอนทิตี ADO.NET ติดตามการเปลี่ยนแปลงโดยอัตโนมัติ (ในเอนทิตีที่สร้างขึ้น) ดังนั้นจึงเก็บค่าดั้งเดิมไว้ฉันจะย้อนกลับการเปลี่ยนแปลงที่ทำกับเอนทิตีอ็อบเจ็กต์ได้อย่างไร
ฉันมีแบบฟอร์มที่อนุญาตให้ผู้ใช้แก้ไขชุดของเอนทิตี "ลูกค้า" ในมุมมองกริด
ตอนนี้ฉันมีสองปุ่ม "ยอมรับ" และ "เปลี่ยนกลับ": ถ้าคลิก "ยอมรับ" ฉันจะเรียกContext.SaveChanges()
และวัตถุที่เปลี่ยนแปลงจะถูกเขียนกลับไปที่ฐานข้อมูล หากคลิก "เปลี่ยนกลับ" ฉันต้องการให้วัตถุทั้งหมดได้รับค่าคุณสมบัติดั้งเดิม รหัสสำหรับสิ่งนั้นคืออะไร?
ขอบคุณ
Context.Refresh()
เป็นตัวอย่างที่ต่อต้านการอ้างสิทธิ์ของคุณว่าไม่มีการดำเนินการคืนกลับ? การใช้Refresh()
ดูเหมือนจะเป็นแนวทางที่ดีกว่า (กล่าวคือกำหนดเป้าหมายได้ง่ายกว่าในหน่วยงานเฉพาะ) มากกว่าการกำจัดบริบทและสูญเสียการเปลี่ยนแปลงที่ติดตามทั้งหมด