Questions tagged «ef-migrations»

迁移是Entity Framework的一项功能,可用于检测对代码(或数据库)优先的模型的更改,并基于这些更改升级数据库(或模型)架构。

11
EF迁移:回滚上一次应用的迁移?
这看起来是一个非常普通的任务,但是我找不到一种简单的方法来完成它。 我想撤消上一次应用的迁移。我本来希望有一个简单的命令,例如 PM> Update-Database -TargetMigration:"-1" 相反,我能想到的是: PM> Get-Migrations Retrieving migrations that have been applied to the target database. 201208012131302_Add-SystemCategory 201207311827468_CategoryIdIsLong 201207232247409_AutomaticMigration 201207211340509_AutomaticMigration 201207200025294_InitialCreate PM> Update-Database -TargetMigration:"CategoryIdIsLong" (至少我可以只使用名称,跳过时间戳...) 有没有更简单的方法?

14
重置实体框架迁移
我已经IgnoreChanges对初始迁移进行了重新整理,但是现在我想删除所有迁移,并从所有逻辑开始进行初始迁移。 当我删除文件夹中的迁移并尝试并Add-Migration不会生成完整文件时(它是空的-因为自上次迁移以来,我没有进行任何更改,但是现在删除了该迁移)。 是否有任何Disable-Migrations命令,所以我可以重新运行Enable-Migrations?




7
实体框架迁移重命名表和列
我重命名了几个实体及其导航属性,并在EF 5中生成了一个新的Migration。与EF迁移中的重命名一样,默认情况下,它将删除对象并重新创建它们。那不是我想要的,所以我几乎不得不从头开始构建迁移文件。 public override void Up() { DropForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports"); DropForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups"); DropForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections"); DropIndex("dbo.ReportSectionGroups", new[] { "Report_Id" }); DropIndex("dbo.ReportSections", new[] { "Group_Id" }); DropIndex("dbo.Editables", new[] { "Section_Id" }); RenameTable("dbo.ReportSections", "dbo.ReportPages"); RenameTable("dbo.ReportSectionGroups", "dbo.ReportSections"); RenameColumn("dbo.ReportPages", "Group_Id", "Section_Id"); AddForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports", "Id"); AddForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections", "Id"); AddForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages", "Id"); …

25
数据库中已经有一个命名的对象
从程序包管理器控制台更新数据库失败。我使用了Entity Framework 6.x和代码优先方法。错误是 “数据库中已经有一个名为“ AboutUs”的对象。” 我怎么解决这个问题? internal sealed class Configuration : DbMigrationsConfiguration<Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext> { public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = false; } protected override void Seed(Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext context) { } } 我的DbContext是: public class JahanBlogDbContext : IdentityDbContext<User, Role, int, UserLogin, UserRole, UserClaim> { public JahanBlogDbContext() : base("name=JahanBlogDbConnectionString") { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<JahanBlogDbContext>()); …

26
无法将术语“ Update-Database”识别为cmdlet的名称
我正在使用EF5 beta1,并且之前可以运行“ Update-Database”。现在,我关闭了Visual Studio,现在无法运行它了。我收到以下错误: 术语“ Update-Database”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。在第1行:16个字符:+ Update-Database <<<< -verbose + CategoryInfo:ObjectNotFound:(Update-Database:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException 我尝试重新安装EF5b1,并且成功安装(已安装)后,“ Update-Database”仍然无法正常工作。 谁能帮忙???

2
如何在EF 4.3中使用带有复杂键的AddOrUpdate播种数据
我正在尝试使用一些测试数据为开发数据库播种。 我已经用context.People.AddOrUpdate(p => p.Id, people));了很多成功。 我还有另一个表需要种子,我不知道其中的主键。 例如,我想基于名字和姓氏匹配来添加或更新。 我不确定如何正确编写表达式。 context.People.AddOrUpdate(p => p.FirstName && p.LastName, people); 显然是不正确的,但我希望它能传达我正在寻找的解决方案。


1
同一数据库中的多个数据库上下文和EF 6中的应用程序以及代码优先迁移
我是实体框架的新手。我正在尝试设置使用EF 6的MVC应用程序。我正在使用代码优先迁移。我在应用程序中使用Areas,并且希望每个区域中都有不同的DbContext来分解它。我知道EF 6具有ContextKey,但是我找不到有关如何使用它的完整信息。目前,我一次只能使用一个上下文的迁移。 有人可以提供一个足够详细的示例,让像我这样的EF新手了解和使用。

7
MVC 5种子用户和角色
我一直在玩新的MVC 5,我有一些使用代码优先迁移的模型,控制器和视图设置。 我的问题是如何播种用户和角色?目前,我在Configuration.cs的Seed方法中植入了一些参考数据。但是在我看来,直到第一次击中AccountController才创建用户和角色表。 我目前有两个连接字符串,因此可以将身份验证中的数据分离到不同的数据库中。 如何获取用户,角色等表格以及其他表格?而不是当帐户控制器被击中时?

10
如何从头开始删除和重新创建现有的EF Code First数据库
我在VS 2012中将EF Code First和EF 5一起使用。我使用PMupdate-database命令,并且我有一个简单的种子方法来用示例数据填充某些表。 我想删除并重新创建我的x.mdb。更新历史记录似乎不同步。如果我在上下文中注释掉所有的DBSet,则update-database运行不会出现错误,但会将某些表保留在DB中。由于数据库中没有有价值的数据,因此重置所有内容似乎是最简单的。 我该怎么做?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.