Bu şey beni deli ediyor ve hata benim için oldukça anlamsız:
EntitySet 'TableB', bir DefiningQuery'ye sahip olduğundan ve öğede mevcut işlemi destekleyecek hiçbir öğe bulunmadığından güncellenemiyor.
Masalarım şu şekilde yerleştirilmiştir:
TableA int idA (kimlik, birincil anahtar) ... TableB int idA (TableA.idA için FK) int val
TableB'nin SQL sunucusunda tanımlanmış birincil anahtarı yoktur. Entity Framework, tabloyu ve ilişkilendirmeyi içeri aktarmış ve her iki alanı da anahtar olarak ayarlamıştır. Ama tabloya bir ekleme yapmaya çalıştığımda bu hatayı verecek!
Sorun nedir??
Düzenleme: Alex'in önerdiği gibi çözüm şuydu:
- Edmx dosyasına sağ tıklayın, Birlikte aç, XML düzenleyici'yi seçin
- Edmx: StorageModels öğesinde varlığı bulun
- DefiningQuery'yi tamamen kaldırın
- Mağazayı yeniden adlandırın: Schema = "dbo" olarak Schema = "dbo" (aksi takdirde kod, adın geçersiz olduğunu söyleyen bir hata oluşturur)
- Mağazayı kaldırın: Name özelliği
Her iki sütunun da anahtarın bir parçası olması benim için sorun olmadığı için anahtarı olduğu gibi bıraktım.