6

Veritabanını WPF ve Entity Framework ile kullanmaya çalışıyorum.Tablo/görünümde birincil anahtar tanımlanmış

Veri kaynağını projeme ekledikten sonra, yaptığım şeye kadar her şeyin yolunda olup olmadığını görmek için projemi kaydettim.

tablo/görünüm 'MyDataBase.TableName' tanımlı birincil anahtar yok:

ama 11/bilgi mesajları belirten uyarmak zorunda. Anahtar çıkarıldı ve tanım salt okunur bir tablo/görünüm olarak oluşturuldu.

Ben 4 tablolar kendi birincil anahtarları ve diğerleri masaları vardır 14 Tablolar birbirini kullanan yabancı anahtarları

bu konu tüm hakkında ne olduğunu adlandırılır var? Lütfen yardım edin

cevap

4

EF içindeki her varlık benzersiz bir şekilde tanımlanabilir olmalıdır. EF, varlık anahtarlarını tanımlamak için veritabanı birincil anahtarlarını kullanır. Birincil anahtarlar olmadan çalışmak mümkün olsa da, birçok konuya yol açtığı için kesinlikle önerilmez. Temel sorun doğrudan hatada belirtilir - tablonun birincil anahtarı yoksa, EF sadece okunacak kaydı benzersiz bir şekilde tanımlayamadığından emin olarak işaretler.

+0

Sadece bu uyarı/bilgi aşabilir mi? ya da bu problemin üstesinden gelmek için daha ciddi bir yöntem almalı mıyım? –

+0

Sadece bir uyarıdır, bu yüzden proje kurulumunuzu derhal uyarmaktan kurtaramazsanız, projeyi derleyebilmeniz gerekir. EDMX doğrulamadan gelen uyarılar bir yapıyı iptal edip edemeyeceğinden bile emin değilim. –

+0

Uygulamamı şimdi yapıyorum, sadece 11 mesajım var –

0

Gerçekten de bu bir uyarıdır, ancak benim durumumda, hiçbir zaman EF'i kötü tasarlanmış bir DB için bana değersiz kılan Kaydet işlevlerini kullanamazsınız.

0

Sadece EDMX dosyasını projenizden silmek zorundasınız. şimdi veritabanınıza geçin ve her tabloya birincil anahtarlar ekleyin. Bundan sonra projenize yeni EDMX ekleyin. iyi çalışır. ve projenizdeki connectionString etiketini yapılandırma dosyanızdan kaldırmayı unutmayın.

1

Tablolarınızdaki birincil anahtarları tanımlayın ve Varlık Veri Modeli'ni güncelleyin. EF modelinizi açtıktan sonra sağ tıklayıp güncellemeyi seçtikten sonra bunu yapabilirsiniz. Pencereden yenileme seçeneğini seçin ve modelinizi doğrulayın. Projemi oluştururken

enter image description here