2012-02-14 18 views
5

ASP.NET MVC 3 projesinde, EF 4.3 ile birlikte, SQL sunuculu ELMAH kullanmak istiyorum.Autorun ELMAH veritabanı komut dosyaları

Elma tablalarını oluşturan otomatik olarak sql betiğini çalıştırmanın bir yolu var mı?

Sanırım, ef geçişleri işi yapabilir ama henüz çok kullanmadım.

Çözümü kontrol edebileceğiniz ve doğrudan (lokal olarak veya dağıtımda tam üflenmiş sql sunucusuna sqlexpress'e) çalıştırabileceğiniz ve yalnızca çeşitli yardımcı sql komut dosyalarını

el ile çalıştırmak zorunda kalmadan çalışabildiğiniz bir çözümü hedefliyorum.

cevap

5

Boş bir kod tabanlı geçiş ekleme (yalnızca bekleyen DB değişiklikleri olmadığında add-migration ElmahSetup yazın).

Sonra, Up() yönteminde elmah dosyasını çalıştırmak için Sql() numaralarına çağrı ekleyin. Çözümü tamamlamak için Down() yöntemine karşılık gelen bırakma ifadeleri eklemeniz gerekir. https://www.nuget.org/packages/Elmah.SqlServer.EFInitializer/: Eğer 6,1 sonra şimdi sizin için Elmalı masa ve procs başlatır bir Nuget paket var EF kullanıyorsanız

+0

Ayrıca, komut dosyalarını da aşağıya sunabilir misiniz? – Adaptabi

+0

Komut dosyalarının neye benzediğini bilmiyorum - ancak bir 'Down()' yöntemi oluşturmak, 'Up()' yönteminde oluşturulan her şey için bir 'Drop' ifadesi kümesidir. –

+2

Harika bir çözüm @AndersAbel İşte bunu EF geçişi için yaptığım komut dosyası: [link] (https://gist.github.com/danmusk/7265235) – DanMusk

3

bu soru EF 4.3 içindi biliyorum ama. Web projenize ekleyin. Daha sonra sizin için bunu oluşturmak için EF kodunu kullanacaktır. App_Start klasörünüze bir Initializer ekler, böylece herhangi bir kod eklemeniz gerekmez. Veritabanınıza yalnızca bir kez eklendiğinden emin olmak için bir geçiş ekleyecektir.

+0

Bu çok güzel bir yaklaşım. Çok baş ağrısı kurdum :) –

İlgili konular