ฉันมีคำถามเกี่ยวกับ.AsNoTracking()
ส่วนขยายเนื่องจากทั้งหมดค่อนข้างใหม่และค่อนข้างสับสน
ฉันใช้บริบทสำหรับคำขอต่อเว็บไซต์
เอนทิตีจำนวนมากของฉันไม่เปลี่ยนแปลงดังนั้นจึงไม่จำเป็นต้องถูกติดตาม แต่ฉันมีสถานการณ์ต่อไปนี้ที่ฉันไม่แน่ใจว่ากำลังจะไปยังฐานข้อมูลหรือแม้ว่ามันจะสร้างความแตกต่างในกรณีนี้
ตัวอย่างนี้คือสิ่งที่ฉันกำลังทำอยู่:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
นี่เป็นเหมือนข้างต้น แต่การลบออก.AsNoTracking()
จากขั้นตอนที่ 1:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
ขั้นตอนที่ 1 & 2 ใช้บริบทเดียวกัน แต่เกิดขึ้นในเวลาที่ต่างกัน สิ่งที่ฉันไม่สามารถทำได้คือมีความแตกต่างหรือไม่ เนื่องจากขั้นตอนที่ 2 เป็นการอัปเดตฉันคาดว่าทั้งคู่จะตีฐานข้อมูลสองครั้ง
มีใครบอกฉันได้ไหมว่าความแตกต่างคืออะไร