问题标签 [entity-framework-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6789 浏览

entity-framework-4.3 - 使 EF4.3 Code First 迁移忽略挂起的迁移

我有一个我最近使用创建的数据库的本地实例DbContext.Database.Create(),因此该__MigrationHistory表存在一个InitalCreate与当前代码匹配的条目。

但是,Migrations 文件夹中存在一些基于代码的迁移。这些将在我们的开发和登台环境中运行,以使这些数据库与代码保持一致。但是,我不需要在本地应用它们,因为我使用当前代码创建了数据库。

我现在需要对模型进行更改并创建相应的迁移。但是当我运行时Add-Migration TestMigration,出现以下错误

在这种情况下我该怎么办?我不能将 Add-Migration 工具指向另一个环境,因为不能保证版本与我在本地拥有的版本相匹配。我想要一个只匹配我所做更改的迁移。

似乎我有几个选择,但没有一个是理想的:

  1. 从 Migrations 文件夹中删除其他迁移,运行 Add-Migration 命令,升级数据库,然后恢复旧迁移。这很简单,但似乎有点骇人听闻。
  2. 恢复到应用第一次迁移的源代码控制中的模型版本,然后构建它并使用它来创建数据库。然后获取最新版本,应用所有迁移,然后我就可以添加我的迁移了。这似乎是一个很大的努力!
  3. 手动创建迁移。

有人对如何管理这个有任何建议吗?

0 投票
5 回答
14351 浏览

entity-framework - 我在哪里可以找到包管理器窗口中执行的代码的控制台或调试输出?

我首先使用 EntityFramework 代码进行迁移。从包管理器控制台,我正在运行“更新数据库”。这将执行我已覆盖的 Configuration.Seed(context)。

我在哪里可以找到该输出?

更好的是,如何输出回包管理器窗口?

谢谢,丹

0 投票
3 回答
528 浏览

entity-framework - 实体框架 4.3 迁移和中等信任

我想使用 EF 的新迁移功能,但是在我的本地计算机上,当我在 web.config 文件中添加“trust level=Medium”模拟中等信任环境时,我得到了这个安全异常:

EF 迁移仅在完全信任下工作?

0 投票
1 回答
3169 浏览

c# - 如何使用 EF 4.3 迁移运行一系列 sql 脚本?

我试图在Seed方法中做这样的事情:

当我运行 Update-Database 时,出现错误:

很明显,更新数据库是从 VS bin 目录而不是从项目目录运行的。无需对项目路径进行硬编码(有多个开发人员正在为此工作),我该如何获取包含DbContext?

0 投票
1 回答
12274 浏览

c# - EntityFramework 不创建表

我已经使用 EF 一段时间了,始终采用Model-First方法。现在我在Code-First 的土地上冒险。问题是:我一直遇到自动表创建问题。

根据一些网站,这是可能的。我已经尝试过他们的方法,但没有成功。

这是我尝试过的事情之一:Database.CreateIfNotExists()

没运气...

我的连接字符串完美且有效。如果我手动添加表格,它确实有效。问题是当我没有创建表时。它只是不像我所说的那样创造。

我的课程装饰正确。(再次:当我创建数据库时它正在工作)

有什么建议么?这个功能真的有用吗?

我在用着:

Visual Studio 2010 专业版

EntityFramework 4.3.1(虽然我也试过 4.1)

SQL Server 2008 R2

提前致谢。

0 投票
1 回答
6598 浏览

entity-framework - EF Migration 迁移到 0 调用初始创建下来

我试图找出将迁移降低到空数据库的语法,就像在初始创建迁移上调用 down 方法一样。有谁知道在迁移中调用 Down 方法的正确语法,类似于:

0 投票
0 回答
896 浏览

entity-framework-4.3 - 实体框架代码优先 - 删除迁移表?

在 EF Migrations (V 4.1) 之前,如果我想为一个实体创建一个新的属性/列,我可以在我的开发机器上“作弊”很容易:

我会在数据库中创建该列,然后将该属性添加到我的实体中——它有效,我不必重新创建我的数据库。

同样的“作弊”不再适用于 V4.3。我还能以某种方式使用 V 4.3 做到这一点,例如删除迁移表或做一些其他技巧 - 严格来说是为了快速开发过程吗?

谢谢你

0 投票
2 回答
2147 浏览

c# - 使用 EF 4.3 代码优先迁移对列重新排序

在这里阅读这两个演练:

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

我找不到指定 SQL 数据表中列顺序的方法。看起来最后添加的属性总是映射到最后一列。

例子:

将创建一个具有列顺序的表:

身份证 | 数据2 | 数据3

更新类,如:

然后运行 ​​update 会将表更新为:

身份证 | 数据2 | 数据3 | 数据1

任何人都知道是否有办法在使用迁移时指定列顺序?

0 投票
1 回答
446 浏览

asp.net-mvc-3 - 不使用 EF4.1 删除数据库或表?

有没有办法让 Entity Framework 4.1 Code First 不删除数据库或表,即使它改变了?我想升级一个 LIVE 网站,因此我不能。我看到了一些我可以获得的 NuGet 类,但它不是删除数据库而是删除表,在更改时重新创建表等。我只是不想对数据库或表做任何事情。

0 投票
1 回答
6474 浏览

entity-framework-4 - 获取初始实体框架迁移脚本

我刚刚安装了 Entity Framework Migrations,向一个类添加了一个属性,然后试了一下 EF Migrations。

我的开发数据库及时更新。到现在为止还挺好。

现在,我想为生产数据库的迁移的初始使用创建一个更改脚本。请注意,有一个预先存在的数据库,因为我将它应用于现有项目。

我的迁移是:

我想我可以使用以下内容获得一个 delta 脚本:

但是,这给了我错误:

“201204102238194_Au​​tomaticMigration”不是有效的迁移。在编写它们之间的升级脚本时,必须对源和目标使用显式迁移。

只是为了看看会发生什么,我颠倒了两个参数(向后迁移)并在添加-force标志后得到了我期望的脚本(删除了新列)。

如何获得第一次迁移的脚本?