问题标签 [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.
entity-framework-4.3 - 使 EF4.3 Code First 迁移忽略挂起的迁移
我有一个我最近使用创建的数据库的本地实例DbContext.Database.Create()
,因此该__MigrationHistory
表存在一个InitalCreate
与当前代码匹配的条目。
但是,Migrations 文件夹中存在一些基于代码的迁移。这些将在我们的开发和登台环境中运行,以使这些数据库与代码保持一致。但是,我不需要在本地应用它们,因为我使用当前代码创建了数据库。
我现在需要对模型进行更改并创建相应的迁移。但是当我运行时Add-Migration TestMigration
,出现以下错误
在这种情况下我该怎么办?我不能将 Add-Migration 工具指向另一个环境,因为不能保证版本与我在本地拥有的版本相匹配。我想要一个只匹配我所做更改的迁移。
似乎我有几个选择,但没有一个是理想的:
- 从 Migrations 文件夹中删除其他迁移,运行 Add-Migration 命令,升级数据库,然后恢复旧迁移。这很简单,但似乎有点骇人听闻。
- 恢复到应用第一次迁移的源代码控制中的模型版本,然后构建它并使用它来创建数据库。然后获取最新版本,应用所有迁移,然后我就可以添加我的迁移了。这似乎是一个很大的努力!
- 手动创建迁移。
有人对如何管理这个有任何建议吗?
entity-framework - 我在哪里可以找到包管理器窗口中执行的代码的控制台或调试输出?
我首先使用 EntityFramework 代码进行迁移。从包管理器控制台,我正在运行“更新数据库”。这将执行我已覆盖的 Configuration.Seed(context)。
我在哪里可以找到该输出?
更好的是,如何输出回包管理器窗口?
谢谢,丹
entity-framework - 实体框架 4.3 迁移和中等信任
我想使用 EF 的新迁移功能,但是在我的本地计算机上,当我在 web.config 文件中添加“trust level=Medium”模拟中等信任环境时,我得到了这个安全异常:
EF 迁移仅在完全信任下工作?
c# - 如何使用 EF 4.3 迁移运行一系列 sql 脚本?
我试图在Seed
方法中做这样的事情:
当我运行 Update-Database 时,出现错误:
很明显,更新数据库是从 VS bin 目录而不是从项目目录运行的。无需对项目路径进行硬编码(有多个开发人员正在为此工作),我该如何获取包含DbContext
?
c# - EntityFramework 不创建表
我已经使用 EF 一段时间了,始终采用Model-First方法。现在我在Code-First 的土地上冒险。问题是:我一直遇到自动表创建问题。
根据一些网站,这是可能的。我已经尝试过他们的方法,但没有成功。
这是我尝试过的事情之一:Database.CreateIfNotExists()
没运气...
我的连接字符串完美且有效。如果我手动添加表格,它确实有效。问题是当我没有创建表时。它只是不像我所说的那样创造。
我的课程装饰正确。(再次:当我创建数据库时它正在工作)
有什么建议么?这个功能真的有用吗?
我在用着:
Visual Studio 2010 专业版
EntityFramework 4.3.1(虽然我也试过 4.1)
SQL Server 2008 R2
提前致谢。
entity-framework - EF Migration 迁移到 0 调用初始创建下来
我试图找出将迁移降低到空数据库的语法,就像在初始创建迁移上调用 down 方法一样。有谁知道在迁移中调用 Down 方法的正确语法,类似于:
entity-framework-4.3 - 实体框架代码优先 - 删除迁移表?
在 EF Migrations (V 4.1) 之前,如果我想为一个实体创建一个新的属性/列,我可以在我的开发机器上“作弊”很容易:
我会在数据库中创建该列,然后将该属性添加到我的实体中——它有效,我不必重新创建我的数据库。
同样的“作弊”不再适用于 V4.3。我还能以某种方式使用 V 4.3 做到这一点,例如删除迁移表或做一些其他技巧 - 严格来说是为了快速开发过程吗?
谢谢你
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
任何人都知道是否有办法在使用迁移时指定列顺序?
asp.net-mvc-3 - 不使用 EF4.1 删除数据库或表?
有没有办法让 Entity Framework 4.1 Code First 不删除数据库或表,即使它改变了?我想升级一个 LIVE 网站,因此我不能。我看到了一些我可以获得的 NuGet 类,但它不是删除数据库而是删除表,在更改时重新创建表等。我只是不想对数据库或表做任何事情。
entity-framework-4 - 获取初始实体框架迁移脚本
我刚刚安装了 Entity Framework Migrations,向一个类添加了一个属性,然后试了一下 EF Migrations。
我的开发数据库及时更新。到现在为止还挺好。
现在,我想为生产数据库的迁移的初始使用创建一个更改脚本。请注意,有一个预先存在的数据库,因为我将它应用于现有项目。
我的迁移是:
我想我可以使用以下内容获得一个 delta 脚本:
但是,这给了我错误:
“201204102238194_AutomaticMigration”不是有效的迁移。在编写它们之间的升级脚本时,必须对源和目标使用显式迁移。
只是为了看看会发生什么,我颠倒了两个参数(向后迁移)并在添加-force标志后得到了我期望的脚本(删除了新列)。
如何获得第一次迁移的脚本?