SORU
13 NİSAN 2011, ÇARŞAMBA


Varlık Çerçevesi Kod-ilk veritabanı varsayılan veri

Nasıl veritabanı oluşturulur sonra uygulama başladı ya hemen önce, önceden varolan bir veri lazım durumlarla başa. Örneğin, kod-ilk oluşturur, sonra veritabanına yüklemek istiyorum ülkelerin bir listesi var. Bunu nasıl yapabilirim?

Uygulama aşağıdaki gibi yapılandırılmıştır

Repository > Service > WebMVC

Xml WebMVC projede.

CEVAP
13 NİSAN 2011, ÇARŞAMBA


DropCreateDatabaseIfModelChanges DropCreateDatabaseAlways arayüzü devralan özel başlatıcı oluşturun. Gibi:

public class EntitiesContextInitializer : DropCreateDatabaseIfModelChanges<-YourDbContext->

Sonra Tohum gibi yöntem üzerine:

protected override void Seed(YourDbContext context)

Bütün örnek gibi görünebilir:

public class EntitiesContextInitializer : DropCreateDatabaseIfModelChanges<EntitiesContext>
{
    protected override void Seed(EntitiesContext context)
    {
        List<Role> roles = new List<Role>
        {
            new Role {Id=1, Title="Admin"},
            new Role {Id=2, Title="ProjectManager"},
            new Role {Id=3, Title="Developer"}
        };

        // add data into context and save to db
        foreach (Role r in roles)
        {
            context.Roles.Add(r);
        }
        context.SaveChanges();

    }
}

Edit: Ladislav Mrnka bahsetti. bu, Başlatıcı çok kurmanız gerekiyor, kurduktan Sonra

Database.SetInitializer(new EntitiesContextInitializer());

yani.: Genel olarak.asax:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
    Database.SetInitializer(new EntitiesContextInitializer());
}

using System.Data.Entity;eklemeyi unutmayın .....

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011