สิ่งนี้ทำให้ฉันแทบคลั่งและข้อผิดพลาดก็ไม่มีความหมายสำหรับฉัน:
ไม่สามารถอัปเดต EntitySet 'TableB' ได้เนื่องจากมี DefiningQuery และไม่มีองค์ประกอบอยู่ในองค์ประกอบเพื่อรองรับการดำเนินการปัจจุบัน
ตารางของฉันวางไว้ดังนี้:
TableA int idA (เอกลักษณ์คีย์หลัก) ... TableB int idA (FK สำหรับ TableA.idA) int val
TableB ไม่มีคีย์หลักที่กำหนดไว้ในเซิร์ฟเวอร์ SQL Entity Framework ได้นำเข้าตารางและการเชื่อมโยงและตั้งค่าฟิลด์ทั้งสองเป็นคีย์ แต่มันจะแสดงข้อผิดพลาดนั้นเมื่อฉันพยายามแทรกลงในตาราง!
เป็นอะไร ??
แก้ไข: ตามที่ Alex แนะนำวิธีแก้ปัญหาคือ:
- คลิกขวาที่ไฟล์ edmx เลือก Open with, XML editor
- ค้นหาเอนทิตีในองค์ประกอบ edmx: StorageModels
- ลบ DefiningQuery ทั้งหมด
- เปลี่ยนชื่อร้านค้า: Schema = "dbo" เป็น Schema = "dbo" (มิฉะนั้นรหัสจะสร้างข้อผิดพลาดว่าชื่อไม่ถูกต้อง)
- ลบร้านค้า: ชื่อคุณสมบัติ
ฉันปล่อยคีย์ไว้เหมือนเดิมเพราะฉันก็โอเคที่ทั้งสองคอลัมน์เป็นส่วนหนึ่งของคีย์