İlk önce Entity Framework 5.0 Kodunu kullanan bir MVC4 web uygulamasına sahibim.Varlık Çerçevesi ve Üyelik tabloları ile veritabanı nasıl başlatılır
Global.asax.cs dosyasında Entity.Database'i başlatan bir önyükleyicim var, veritabanını başlatmaya zorlayın ve Üyelik için veritabanını başlatın.
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
Çünkü:
public class DatabaseContextInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext>
{
protected override void Seed(DatabaseContext dbContext)
{
base.Seed(dbContext);
db.Set<Workout>().Add(new Workout {Id = 1, Name = "My First workout user1"})
}
}
Sorun ile üyelik Kullanıcıyı oluşturamazsınız şudur: DatabaseContextInitializer an için çok basit
System.Data.Entity.Database.SetInitializer(new DatabaseContextInitializer());
Database.Initialize(true);
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
: Kod bu biridir Veritabanının oluşturulmadığı bir problemim var. Entity Framework 5.0 ve Asp.Net MVC 4 ile veritabanınız için bazı varsayılan kullanıcıları nasıl başlatırsınız?
Merhaba, bu çözümü yapabilir yarı yol Aslında veritabanı ilk kez oluşturulduğu için tablo-veritabanı değil, iki kez güncelleme-veritabanını çalıştırmak zorundayım. Oturum açma tarafından talep edilen "Veritabanı açamıyor" WorkoutPlannerDb "hatası var. Oturum açma işlemi başarısız oldu." Bunun nedeni, InitializeDatabaseConnection ilkini kullanmak yerine yeni bir bağlantıyı yeniden açmasıdır. –
AutomaticMigrationsEnabled = true; kullanmak çok korkutucu. Kodunuzu ilk DbContext'inizi değiştirdiğinizde ve üretim ortamında asla kullanılmaması gerektiğinde otomatik olarak veritabanını geçirir. Geri dönüş için herhangi bir geçiş adımınız olmadığından DB'deki değişiklikleri bozmak oldukça zordur. Bunun yerine, kod ilk DB modelindeki her değişiklik için geçiş adımlarını açıkça eklemek için "eklenti taşıma" özelliğini kullanın. – angularsen
@Darin: Daha eski bir soru sorduğum için üzgünüm, ancak EF içeriğini web projenizden ayırırsanız bu yine de geçerli olur mu? WebMatrix. * Ve System.Web.Security'i bir veri düzeyinde bulunmaması gereken bağımlılıklar yarattığını düşünebiliyorum ... (Belki bunun için bir soru sormalıyım?) –