NuGet更新数据库不在Visual Studio中拉动新记录
VisualStudio和NuGet的新手,所以我正在寻找一些指令。NuGet更新数据库不在Visual Studio中拉动新记录
我正在使用TFS和使用NuGet获取此项目数据库的更新的团队项目。 我的团队成员之一添加了一个属性,添加了一列到我们的数据库之一,然后还向该数据库添加了一条新记录。然后他为此创建了一个新的迁移。
我正在尝试将其更新为其他VisualStudio设置。 从我的研究到目前为止,我在NuGet包管理器中运行了命令Update-Database
。这更新了数据库的结构并引入了新的专栏,但未能引入新的记录。
我们尝试过Update-Database -force
,并且没有回来。
我试过寻找一个解决方案,但我很难找到关于在数据库中迁移数据的信息。
有没有人有任何建议,我可以如何轻松地进行这方面的许多未来的更新。
首先,欢迎来到SO!
这样更新了数据库的结构和 引入新列但未能引入新记录。
当您创建迁移时,EF将自动添加结构更改,但它对数据不会执行相同操作。如果你仔细想一想,EF是无法知道你的数据库中已经添加,修改或删除了哪些记录,并且9次(10次)我们不希望这些数据在迁移脚本中。
如果你想包括与您的迁移,你有两个选择记录...
1.种子数据库
这种方法将在每个迁移
internal sealed class Configuration : DbMigrationsConfiguration<WebApplication15.DatabaseContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(WebApplication15.DatabaseContext context)
{
//
// Add records into the database
//
}
}
被称为2.添加数据到迁移
public partial class Initial : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.People",
c => new
{
Id = c.Int(nullable: false, identity: true),
})
.PrimaryKey(t => t.Id);
Sql("INSERT INTO People....");
}
public override void Down()
{
DropTable("dbo.People");
}
}
我们已经尝试过Update-Database -force并且没有任何东西。
force标志只是告诉EF迁移数据库,不管它是否会导致数据丢失(即丢弃一个充满记录的表!)。
希望这会有所帮助!
谢谢!我们已经决定不在这个当前项目的范围之内,最重要的是数据库的结构。 –
您可以包括迁移代码吗? –