播种实体框架6

时间:2016-05-09 16:38:42

标签: asp.net-mvc entity-framework

我是ASP.NET MVC的菜鸟。在我的应用程序中,我有一个名为Products的实体。我使用代码优先方法和Entity Framework流畅的api进行映射。

这是我的上下文类,想知道如何为这个上下文类进行种子设定。谢谢。

public class SimpleContext : DbContext, IDbContext
{
    public SimpleContext() : base("name = DefaultDbContext")
    {
    }

    static SimpleContext()
    {
        Database.SetInitializer(new CreateDatabaseIfNotExists<SimpleContext>()); 
    }

    public new IDbSet<TEntity> Set<TEntity>() where TEntity : BaseEntity
    {
        return base.Set<TEntity>();
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        var typeToRegister =
            Assembly.GetExecutingAssembly().GetTypes().Where(type => !String.IsNullOrEmpty(type.Namespace)).Where(
                type =>
                type.BaseType != null && type.BaseType.IsGenericType &&
                type.BaseType.GetGenericTypeDefinition() == typeof (EntityTypeConfiguration<>));
        foreach (var type in typeToRegister)
        {
            modelBuilder.Configurations.Add((dynamic)Activator.CreateInstance(type));
        }

        base.OnModelCreating(modelBuilder);
    }
}

0 个答案:

没有答案