2012-11-12 7 views
5

Ben Entity Framework ve ASP.NET MVC kullanarak bir uygulama yazıyorum içinde DAL ve web.config app.config, bu yüzden MVC Web uygulaması DAL ayrı karar verdi. Ve aslında her şey bir sonraki sorun dışında iyi (eğer sorunsa): Varlık bağlantı dizesini DAL projesinin app.config dosyasından Web Uygulaması Web.config dosyasına kopyalamak zorunda kaldım. Ve aslında doğru görünüyor: DAL, Veri'ye bağlantı dizgisini bilmemeli, Ana Uygulamanın görevidir.WebApplication

Ama gerçekten sevmiyorum, EntityModel (* .edmx) güncellemeye ihtiyaç duyduğundan, DAL'nin app.config öğesinde Entity bağlantı dizesini tutmam gerekiyor. Web Uygulaması bağlantı dizesine başvurmak için en iyi uygulama var mı? Ya da sadece şimdi olduğu gibi bırakıyorum?

+0

EF gibi bir şey kullanılması durumunda, EF'iniz DAL değil midir? Bu DAL'i bir DAL'de mi yoksa kendi başınıza mı depolıyorsunuz? –

+1

Evet, doğru, DAL projemde – DanTheMan

cevap

6

Yani, burada neler olduğunu sadece bir açıklama. Uygulamanızı geliştirirken, DAL projesi, doğası gereği kendi projesidir. DAL projesi düzenlenirken, Visual Studio projeleri yapılandırma dosyasındaki değerleri kullanır. Böylece, bu app.config dosyasında bulunan bağlantı dizesi neden.

Şimdi, bir web sunucusuna tüm çözüm yayınladığınızda, web uygulama çalıştıran gerçek bir uygulamadır. Bu, derleme işlemi sırasında uygulanan DAL dll öğesine bir başvuru içerir. Bunu göz önüne alarak, DAL dll, tüm yapılandırma değerlerini web.config'den alır, çünkü bu birincil yürütme derlemesi için yapılandırma dosyasıdır.

Sorunuzu yanıtlamak için, muhtemelen her ikisini de app.config ve web.config dosyasında, modelinizi güncellemeniz gereken her zaman 'yeni bir bağlantı oluşturmanız' gerekmeyecek şekilde tutmanız en iyisidir. Bildiğim kadarıyla, DAL projesi, Visual Studio'dayken başka bir proje yapılandırma dosyasına bakmayacaktır. Ancak, hem app.config hem de web.conig'deki bağlantı dizeleri, dağıtımınızı etkilemez. Web.config ayarları her zaman kullanılacaktır.

+1

Tommy'ye sardım, detaylı cevap için teşekkürler. Şimdi bana göre endişelenecek bir şey yok. – DanTheMan