ฉันจะรับรหัสวัตถุใหม่ที่สร้างโดยลำดับ DB ได้อย่างไร

ฉันมีตารางที่มีลำดับและทริกเกอร์ ดังนั้นจึงสร้างรหัสใหม่เมื่อแทรกลงในฐานข้อมูล

ฉันจะรับรหัสวัตถุใหม่ก่อนที่จะเรียก SaveChanges() ได้อย่างไร

ฉันต้องการรหัสนี้สำหรับการเชื่อมโยงระหว่างวัตถุใหม่และวัตถุอื่น ๆ

ฉันต้องการดำเนินการก่อนที่จะเรียก SaveChanges เนื่องจากฉันต้องการมีตัวเลือกในการย้อนกลับ


person Mattan    schedule 20.07.2010    source แหล่งที่มา


คำตอบ (1)


คุณไม่สามารถรับมันได้โดยไม่ต้องโทร SaveChanges() ลองคิดดูสิ รหัสมาจากฐานข้อมูล SaveChanges() เป็นสิ่งแรกที่ทำให้เกิดการสื่อสารกับฐานข้อมูล

หากต้องการเลิกทำ คุณมีทางเลือกหลายทาง:

  • ในหลายกรณี คุณไม่จำเป็นต้องทราบ ID ฝั่งไคลเอ็นต์เมื่อทำการแทรก แค่สร้างความสัมพันธ์ก็พอแล้ว
  • ใช้ ID ที่ไคลเอ็นต์สร้างขึ้นได้ เช่น GUID
  • ใช้ TransactionScope สำหรับธุรกรรม DB "ของจริง"
  • ทำการเลิกทำ (DeleteObject) แทนการย้อนกลับ
person Craig Stuntz    schedule 20.07.2010