我是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);
}
}