Veritabanına zaten eklenmiş bazı Ana kayıtlar var. Şimdi bazı çocuk kayıtları eklemek istiyorum.Alt kayıt zaten Varlık Çerçeve kodu kullanılarak var olduğunda alt tabloya çocuk tablosuna ekleme
- Veli (A) Al
- Çocuk Navigasyon özelliğine ebeveyn kaydı ekleme Yeni bir çocuk (B) kaydı
- oluştur kaydeder: Bunu yapmak için aşağıdaki adımları takip etti. B.A = A
- SaveChanges'i arayın. ben bu EF Yeni Bir Ana ekler ve sonra zaten ebeveyn varolan haritalama ile sadece çocuğa eklemek yerine yeni, yeni eklenen ebeveyne bir yabancı anahtar işaret çocuğa eklerim zaman
sorun olduğunu. Ayrıca, çocuğu kaydederken ebeveynin birincil anahtarını kontrol ettim ve veritabanında var.
Ebeveyn ve Çocuk için veritabanı oluşturulmuş kimlik kullanıyorum. Fark ettiğim tek şey, aynı bağlam nesnesinden Ebeveyn/Çocuk Kaydetme/Kaydetme işleminin daha iyi yapmasıydı.
Bu asap dosyasını düzeltmeniz gerekiyor. Herhangi bir yardım büyük takdir edilecektir.
İkinci yaklaşım benim için çalıştı. Çok teşekkürler. – Amit
Aynı problem var. Bir göz atın lütfen: http://stackoverflow.com/questions/16131090/the-relationship-could-not-be-changed-the-foreign-key-properties-is-non-nulla/16131494?noredirect= 1 # comment23046042_16131494? Sizi bağlamında "MamConfiguration_V1" alıyorum değişiklikleri kaydediyorum. Aynı bağlama bağlı. Akış: UI'de (düzenleme modu) sahip olduğum bir kimlikle MamConfiguration_V1'i alın (düzenleme modu) -> tüm değerleri UI'den atayın -> override \ add \ delete referans üyeleri (gezinme) 'MamConfigurationToBrowser_V1'. Bu bilgi eklendi mi? –
+1 Her gün yeni bir şeyler öğreniyorum ve bu, gördüğüm bu sorunun en açık açıklaması. Teşekkür ederim! –