【发布时间】:2018-05-21 09:14:55
【问题描述】:
我有一个简单的自托管 Web API 应用程序。我安装了 EnityFramework6 包并在
<contexts>
<context type="simple_api.MyContext, simple_api">
<databaseInitializer type="simple_api.MyInitializer, simple_api" />
</context>
</contexts>
初始化器类如下:
public class MyInitializer : System.Data.Entity.DropCreateDatabaseIfModelChanges<Context>
{
protected override void Seed(Context context)
{
Console.log("My seed method");
var persons = new List<Person> { };
var john = new Person() { Firstname = "John", Lastname = "Doe" };
context.Persons.Add(john);
context.SaveChanges();
}
}
我启用并创建了迁移,但问题是运行它不会触发我的 Seed 方法:
PM> Update-Database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying explicit migrations: [201805210804206_initial].
Applying explicit migration: 201805210804206_initial.
Running Seed method.
我也尝试过更改App.config,但似乎完全被忽略了,因为<context type="foobar, nomatterwhatishere"> 不会触发任何警告或错误。
可能是什么问题?
--
顺便说一句,当我配置 log4net 时,文件也被忽略了,我必须调用 log4net.Config.XmlConfigurator.Configure()。也许 EntityFramework 也有类似的东西?
【问题讨论】:
-
您没有为 Database Initializer 设置任何值。结帐entityframeworktutorial.net/code-first/…
标签: asp.net entity-framework asp.net-web-api