Mar*_*ark 10 entity-framework-4 ef-code-first
我正在使用EF 4.1并使用DBContext等创建了一个存储库.连接字符串设置为指向SQL Server 2008 R2 Dev版本.
当我运行一个调用我的网关的控制台应用程序,然后又添加一个实体并保存时,会抛出一个异常,说它无法找到该表.当我查看我的数据库时,创建了一个数据库但除了EmdMetadata之外没有自动创建表.
我错过了什么吗?
标记
您可以自己创建表 - 最简单的方法是:
IObjectContextAdapter adapter = (IObjectContextAdapter)context;
string script = adapter.ObjectContext.CreateDatabaseScript();
context.Database.ExecuteSqlCommand(script);
Run Code Online (Sandbox Code Playgroud)
上下文是我的EF 4.1数据库上下文.在此代码之前,我删除了所有表(从上次创建数据库开始),然后在此之后使用数据对其进行种子处理.
要设置自动放置并创建,你会做这样的事情......
public class MyDbContext : DbContext
{
public IDbSet<Foo> Foos { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(new MyDbContextInitializer());
base.OnModelCreating(modelBuilder);
}
}
public class MyDbContextInitializer : DropCreateDatabaseIfModelChanges<MyDbContext>
{
protected override void Seed(MyDbContext dbContext)
{
// seed data
base.Seed(dbContext);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20909 次 |
最近记录: |