【发布时间】:2013-09-22 19:06:26
【问题描述】:
我根据需要设置了数据库,我只是对现有表进行调整并偶尔添加新表,并且在初始播种后已将实时数据添加到表中。因此,如果我想添加一个新表并只为该表提供种子,同时将其他表中的数据保持原样,这可能吗?我不想删除现有表或丢失现有数据,我只想添加一个新表并在创建它的同时为其添加数据。
【问题讨论】:
标签: entity-framework ef-code-first
我根据需要设置了数据库,我只是对现有表进行调整并偶尔添加新表,并且在初始播种后已将实时数据添加到表中。因此,如果我想添加一个新表并只为该表提供种子,同时将其他表中的数据保持原样,这可能吗?我不想删除现有表或丢失现有数据,我只想添加一个新表并在创建它的同时为其添加数据。
【问题讨论】:
标签: entity-framework ef-code-first
我很想知道是否有更好的方法来做到这一点。
当我添加一个模型时,我会在我的 Migrations/Congiruation.cs 文件中添加适当的种子值,然后基本上只是将其余部分注释掉。即:
var Locations = new List<Location>
{
new Location { Suburb="Sydney", Postcode = "2000", State = "NSW"}
};
Locations.ForEach(s => context.Locations.Add(s));
context.SaveChanges();
用于新的位置模型。除非您在初始化程序中设置了模型更改时的 drop database,否则在包管理器控制台中运行 update-database 不会影响您的任何其他表或数据。
【讨论】: