Hal ini membuat saya gila, dan kesalahan itu tidak ada artinya bagi saya:
Tidak dapat memperbarui EntitySet 'TableB' karena memiliki DefiningQuery dan tidak ada elemen dalam elemen untuk mendukung operasi saat ini.
Tabel saya diletakkan seperti ini:
TabelA int idA (identitas, kunci utama) ... TabelB int idA (FK untuk TableA.idA) int val
TableB tidak memiliki kunci utama yang ditentukan di server SQL. Kerangka kerja entitas telah mengimpor tabel dan pengaitan dan menetapkan kedua bidang sebagai kunci. Tapi itu akan menampilkan kesalahan itu ketika saya mencoba melakukan penyisipan ke dalam tabel!
Apa yang salah??
Sunting: Seperti yang disarankan oleh Alex, solusinya adalah ini:
- Klik kanan pada file edmx, pilih Open with, XML editor
- Temukan entitas di elemen edmx: StorageModels
- Hapus seluruh DefiningQuery
- Ubah nama toko: Schema = "dbo" menjadi Schema = "dbo" (jika tidak, kode akan menghasilkan kesalahan yang mengatakan bahwa nama tidak valid)
- Hapus toko: Nama properti
Saya membiarkan kunci seperti itu, karena tidak masalah bagi saya bahwa kedua kolom adalah bagian dari kunci.