6

Veri erişimi için Entity Framework'e bağlı bir WPF uygulaması geliştiriyorum. İlk kurulumda Kullanıcı girdisine göre yeni bir bağlantı dizesi oluşturmalı ve buna göre App.Config uygulamasını güncellemeliyim.C# - Varlık Framework ConnectionString çalışma zamanında App.Config değiştirdikten sonra güncellenmez

Sorun şu: App.Config dosyasını güncelleştirdikten sonra Entity Framework bu değişikliği algılamaz ve DbContext'i başlatmak için eski başlangıç ​​zamanı ConnectionString işlevini kullanır.

Entity Framework'ün ConnectionString ayarını çalışma zamanında nasıl güncelleyebilirim?

+0

dağıtmış uygulamasında bir app.config var mı: DbContext yapıcı verilen bağlantı dizesi Eğer geçici çözüm olarak kullanabilirsiniz sonra önbelleğe değil? –

+0

Evet. Executable.exe.config – evolon

+0

Bu sorun vardı. bağlantılarımdaki değişikliklerin, veritabanı adı, edmx güncellemesinden dolayı geçerli değildi. Çözümü kapatıp tekrar açıp çalışır. – Mohammadreza

cevap

7

Entity Framework bağlantı dizesini önbelleğe alır, yenilemeyi zorlamak için bir yöntem yoktur. this article itibaren

:

public class MyContext : DbContext { 
    public MyContext() 
     : base(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString) 
    { 
    } 
} 
+0

Teşekkürler, Bu arada çok kullanışlı bağlantı. Ancak, belgenin yukarısındaki "Kod yeniden oluşturulduğunda bu dosyada el ile yapılan değişikliklerin üzerine yazılacak" yazan yorumlara dayanarak, değişiklikler daha sonra kaybolmaz mı? – evolon

+0

Uygulamanızı yeniden derlerseniz ... evet, ancak dağıtılmış bir uygulamada gerçekleşecek bir şey değil. –

+1

Ad alanına "System.Configuration kullanarak" eklediğinizden emin olun. – Scooter

İlgili konular