SORU
19 EKİM 2009, PAZARTESİ


Ama hayır İnsertFunction eleman... err bir DefiningQuery var

Bu şey beni deli ediyor, ve bu hata bana çok anlamsız

Bu değer bekleniyor güncellenemiyor '' bir DefiningQuery ve hiçbir unsur olduğundan öğesi geçerli işlemi desteklemek için vardır. TableB

Benim tablo bu şekilde

TableA
int idA (identity, primary key)
...

TableB
int idA (FK for TableA.idA)
int val

TableB SQL server birincil anahtar tanımlı yoktur. Varlık Çerçeve tablosu ve dernek ithal ve anahtar olarak her iki alanda ayarlayın. Ama tabloya bir ekleme yapmak istediğimde bu hata çıktı!

Sorun ne??

< / ^ hr .

Düzenleme: Alex önerdiği gibi, çözüm bu oldu:

  1. Edmx dosyası üzerinde sağ tıklayın, birlikte Aç seçin, editör XML
  2. Bu edmx işletme:StorageModels elemanı bulun
  3. Bu DefiningQuery tamamen kaldırmak
  4. Depoyu Yeniden Adlandır:="" için="" (aksi takdirde, bir hata kod adı geçersiz olduğunu söyledi oluşturur) . dbo Şema dbo Şema
  5. Depoyu kaldırmak:özellik Adı

Her iki sütun anahtar parçası olan bana iyi oldu bu yana, gibi anahtar bıraktım.

CEVAP
19 EKİM 2009, PAZARTESİ


İyi bir masa bir PrimaryKey olmadan karşılaşılan bir Görünüm olarak kabul edilir.

Ve manzarası EDMX dosyası (bkz: bir XML düzenleyicisinde açın) [n] StorageModel\bir değer bekleniyor\DefiningQuery öğesi görünür.

Bir DefiningQuery olduğunda Varlık değiştirme işlevleri eklemek sürece salt okunur hale gelir. 3 değişiklikleri fonksiyonları (nam-ı diğer Saklı Yordamları) Ekleme, Güncelleme ve Silme her biri için bir ihtiyaç.

Ama iki seçeneğiniz vardır:

Anahtar değerlendirilmiş değiştirin:

  1. And convince the EF that what it thinks is a view is really a table
  2. Ya da uygun değişikliği işlevleri ekleyin

Tavsiye ederim sizin durumunuzda (1).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • ICON

    ICON

    19 EKİM 2011
  • JTechTalk

    JTechTalk

    11 Temmuz 2010