เมื่อฉันบันทึกเอนทิตีด้วยกรอบงานเอนทิตีฉันคิดว่าโดยปกติแล้วจะพยายามบันทึกเอนทิตีที่ระบุเท่านั้น อย่างไรก็ตามกำลังพยายามบันทึกเอนทิตีลูกของเอนทิตีนั้นด้วย สิ่งนี้ก่อให้เกิดปัญหาความสมบูรณ์ทุกประเภท ฉันจะบังคับให้ EF บันทึกเฉพาะเอนทิตีที่ฉันต้องการบันทึกได้อย่างไรจึงละเว้นออบเจ็กต์ลูกทั้งหมด
ถ้าฉันตั้งค่าคุณสมบัติเป็นโมฆะด้วยตนเองฉันได้รับข้อผิดพลาด "การดำเนินการล้มเหลว: ไม่สามารถเปลี่ยนแปลงความสัมพันธ์ได้เนื่องจากคุณสมบัติของคีย์ต่างประเทศอย่างน้อยหนึ่งรายการไม่สามารถเป็นค่าว่างได้" นี่เป็นการตอบโต้อย่างมากเนื่องจากฉันตั้งค่าวัตถุลูกเป็นโมฆะโดยเฉพาะดังนั้น EF จึงปล่อยให้มันอยู่คนเดียว
เหตุใดฉันจึงไม่ต้องการบันทึก / แทรกวัตถุลูก
เนื่องจากมีการพูดคุยกันไปมาในความคิดเห็นฉันจะให้เหตุผลว่าทำไมฉันถึงต้องการให้สิ่งของลูกของฉันถูกทิ้งไว้ตามลำพัง
ในแอปพลิเคชันที่ฉันกำลังสร้างโมเดลอ็อบเจ็กต์ EF ไม่ได้ถูกโหลดจากฐานข้อมูล แต่ใช้เป็นอ็อบเจ็กต์ข้อมูลที่ฉันกำลังเติมข้อมูลขณะแยกวิเคราะห์ไฟล์แบบแบน ในกรณีของอ็อบเจ็กต์ลูกสิ่งเหล่านี้อ้างถึงตารางการค้นหาที่กำหนดคุณสมบัติต่างๆของตารางพาเรนต์ ตัวอย่างเช่นที่ตั้งทางภูมิศาสตร์ของเอนทิตีหลัก
เนื่องจากฉันได้สร้างวัตถุเหล่านี้ด้วยตัวเอง EF จึงถือว่าสิ่งเหล่านี้เป็นวัตถุใหม่และจำเป็นต้องแทรกพร้อมกับวัตถุหลัก อย่างไรก็ตามคำจำกัดความเหล่านี้มีอยู่แล้วและฉันไม่ต้องการสร้างรายการที่ซ้ำกันในฐานข้อมูล ฉันใช้ออบเจ็กต์ EF เพื่อทำการค้นหาและใส่คีย์นอกในเอนทิตีตารางหลักของฉันเท่านั้น
แม้ว่าวัตถุลูกจะเป็นข้อมูลจริง แต่ฉันก็ต้องบันทึกพาเรนต์ก่อนและรับคีย์หลักหรือ EF ก็ดูเหมือนจะยุ่งเหยิง หวังว่านี่จะให้คำอธิบายบางอย่าง