繁体   English   中英

在运行更新数据库时,如何使用EF 5 Code First映射现有表并且_do_不创建/触摸它?

[英]How to map existing table with EF 5 Code First and _do_ not create/touch it when running update-database?

我有一个EF 5 Code First VS 2012项目和一些实体。 我使用update-database来生成/种子表和数据。 但是,我有4个已有数据的表,我想将此表映射到4个POCO类,因为我想通过DbContext访问它们。

我的问题是,如果我创建实体POCO类,并添加适当的内容

public DbSet<MyExternal> MyExternals { get; set; }

属性设置为DbContext类的属性,当我运行更新数据库时,它会尝试创建表并退出并出现错误“表MyExternal存在”或类似错误。 我理解为什么会这样,但是我的问题是:如何向更新数据库过程说明不创建/更改这些表?

注意:我知道如何将表映射到与类名等不同的名称,这不是我的问题。

我知道这个问题比较老,可能自己回答了,但是解决方案可能是创建一个空迁移:

public override void Up()
{
}

public override void Down()
{
}

之后,您的迁移已存储了正确的数据库模型(已知您的四个表),并且一切正常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM