2011-05-12 20 views
38

Saklı yordamdan karmaşık bir tür oluşturmak için Entity Framework (EF) kullanıyorum. Son zamanlarda, saklı yordam değişti (daha fazla geri dönüş değeri eklendi. Bu saklı yordamla eşlenen karmaşık türünü güncellemek istiyorum. Bu mümkün mü ve eğer öyleyse, nasıl? Şu anda her zaman bir işlevi ve karmaşık tipimi siliyorum . en iyi yaklaşım büyük olasılıkla olmadığı, prosedür değişiklikleri saklıKarmaşık Türleri Güncelleştirmek için Varlık Çerçevesini Nasıl Alabilirim?

cevap

101

Ben karmaşık türü silmeden bunu yapmanın başka bir yolunu buldum Sen kompleks tipi güncelleyebilir ve Visual Studio herhangi değiştirilen sütunları katacak İşte nasıl:..

  1. sizin .edmx dosyasını açın ve model tarayıcısına gidin. depolanan yordam değiştirdiyseniz
  2. model göz atma herhangi beyaz alana sağ tıklayın r ve Veritabanından Model Güncelleme'yi seçin, "Son" u tıklayın. Bu saklı yordamınızı yenileyecektir.
  3. Şimdi XModel.edmx> XModel> EntityContainer: XEntities> İşlev İthalatlarını (X, varlık adınız) inceleyin ve güncelleştirmeniz gereken dosyayı sağ tıklatın. Düzenle'yi seçin.
  4. "Sütun Bilgilerini Al" a tıklayın. Şimdi, Kompleks Tipi radyo düğmesinin yanında, bir Güncelleme düğmesi var. Karmaşık türünüzü güncellemek için buna basın ve ardından OK düğmesine basın.

Bunu yapmalı!

+0

Aşağıdaki yerde 'İşlev İthalat'ı' buldum: 'Foo.edmx/Foo/EntityContainer: FooEntities/Function Imports' –

+7

Çok sezgisel! Neden bunu düşünmedim? VS keşifsel tıklama becerileriniz için +1, Halcyon. Çok teşekkürler. –

+2

"Sütun bilgilerini al" ı tıklamak için gerekli değildir, "Güncelle" yi tıklamak da aynı şeyi yapar. – SlimShaggy

0

Bunu başarmanın daha kolay bir yolu var, here'u SO. EF, sizin için uygun dönüş türünü oluşturmak için kullandığı saklı yordamına bazı meta bilgileri ekler.

Saklı yordamın meta bilgi kısmı yürütülmez, yalnızca hangi sütunların ve veri türlerinin döndüğünü anlatır.

İlgili konular