- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在构建一个使用 ASP.NET MVC 4 和 Entity Framework 5.0 的应用程序。我最近了解了 EF Code-First Migrations 工具,您可以在您的数据库应用程序上实现该工具。我在 PM 控制台中运行“Enable-Migration”,它成功启用并按预期创建了“InitialCreate.cs”类,并使用适当的 up() 和 down() 方法填充了表创建。
然后我继续添加另一个具有 2 个简单属性(id、名称)的类 (Category.cs),并希望将此迁移添加到数据库中。我在我的 PM 中运行“Add-Migration AddCategoryClass”以获取此消息:
Scaffolding migration 'AddCategoryClass'.
The Designer Code for this migration file includes a snapshot of your current Code
First model. This snapshot is used to calculate the changes to your model when you scaffold the next migration. If you make additional changes to your model that you want to include in this migration, then you can re-scaffold it by running 'Add-Migration 201307301938256_AddCategoryClass' again.
它在 Migrations 文件夹中创建了迁移文件,但是当我打开它创建的“.cs”文件时,Up() 和 Down() 方法是空白的。我期待它创建一个表并分别添加字段。出于好奇,我运行了“更新数据库”并且它成功通过了(在 Configuration.cs 文件中更改 AutomaticMigration = true 之后)。当我构建我的应用程序时,该表出现在数据库中。
所以我的问题是 --> 为什么 Up() 和 Down() 方法是空白的?
请注意,如果 Configuration.cs 文件中的 AutomaicMigrations = false,“更新数据库”命令将不起作用;给我以下错误:
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.
我假设这些不应该,并且在将来查看我的迁移并查看我所做的事情会有所帮助。任何帮助或指导都会很棒。先谢谢你。
我在 Win 7 64 位上使用 VS 2012。
最佳答案
这可能是因为您有一个数据库初始化程序,它始终使数据库与模型保持同步,无论迁移如何。
查看 __MigrationHistory
,您可能会看到架构已由 MigrateDatabaseToLatestVersion
initializer 更新。 . MigrationId
类似于 201307290913337_AutomaticMigration
。
要修复它,删除数据库,注释掉对模型的更改,运行 Update-Database
- 现在注释更改,然后再次添加迁移。
如果__MigrationHistory
表的最后一条记录确实是xxxxxxx_AutomaticMigration
一条,你可以删除它并再次运行Add-Migration
,并且您的迁移类在其 Up
和 Down
方法中应该有一些有用的东西。
您应该确保在尚未进行更改时运行 Add-Migration
。
关于database - Entity Framework 代码优先迁移类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956179/
我正在使用“laravel/lumen-framework”:“5.7.*” 我有两个中间件,第一个 AuthTokenAuthenticate 应该应用于所有路由,因此它在 bootstrap/ap
当同时播放两个音频时...声音会相互抵消。如何解决这个奇怪的现象? 我有一些代码,其中单击按钮时有音频,并且每隔十秒就有音频(在后台服务中)。我有以下代码来在十秒间隔播放时停止按钮音频,并且工作正常:
我有一个功能可以在我的网站上搜索用户, 我的网站上还有一个面向 friend 的功能。 我有一个查询要在我的网站上搜索正确的用户,并且 我有一个查询可以确定用户的 friend ,他们都按应有的方式工
是否可以对记录使用 GROUP BY? 例如,我有一大堆联系人数据,可能包含也可能不包含所有信息 - 在 CSV 意义上,如果可能看起来像这样: Test User, Address1, Addres
如何在客户端 JavaScript 中创建一个环境,其中与用户界面和 View 相关的任何代码优先于其他代码? 我知道你可以使用 setTimeout([function],0); 将事情推到下一个刻
Jasmine 有没有办法定义测试失败的概率? 例如,现在 500'ing 的服务比不显示在页面上的简单内容更糟糕。 谢谢! 最佳答案 这不是单元或集成测试的工作方式。以太测试是否失败。并且您的套件中
我正在为我参与的一个项目开发一个 API。该 API 将由 Android 应用、iOS 应用和桌面网站使用。几乎所有 API 都只有注册用户才能访问。该 API 允许通过 WSSE 进行身份验证,这
我正在开发一些库并创建了这个有缺陷的代码: //------------------- Gmaps = {}; Gmaps.map = new Gmaps4RailsGoogle(); //there
我有一个使用[NSLocale ISOCountryCodes]获得的国家/地区的NSArray。如何排序此NSArray,以便可以将某些常用国家(地区)放在列表的顶部,同时将其余国家/地区按字母顺序
我正在为注册表编写代码,因为我正在从另一个文件中为电话号码列导入代码,但是当我将该代码放入其中时,您可以看到@include('layouts.phone');它显示为 当我放置@include('l
我刚刚遇到了 javascript 代码 file_upload_started = progress < 100; 我不知道如何阅读它,谷歌也没有真正出现太多。我什至不知道该怎么调用它,所以很难进行
目前,我正在 cppinstitute.org 学习 C 语言认证类(class)。在其中一个测验中,有一个如下的问题来识别输出。 int i = 1,j= 1; int w1,w2; w1 = (i
我想将无符号短值从 MSB 优先转换为 LSB 优先。做了下面的代码,但它不工作。有人可以指出我所做的错误吗 #include using namespace std; int main() {
考虑以下场景:我的应用程序有一些依赖于我自己的 POM 优先 Artifact (使用纯 Maven 构建)和一些依赖于我自己的 list 优先 Artifact (使用 Tycho 构建)。对于 P
拥有它应该是很自然的事情,我想知道是否有来自 TPL DataFlow 库的优先级缓冲区块的现成实现? 最佳答案 似乎实现这一目标的最佳方法是使用专门的 任务调度器 ,而不是实现您自己的 Buffer
我有一个 date 字段,它显示为从今天开始的天数。因此 2055-01-01 和 1950-01-01 将分别显示为正数和负数。现在我希望对这些进行排序,以便非负数按升序排在第一位,然后负数按降序排
我遇到一个问题,我看到我的事件类和悬停类正在 Firebug 中应用,但它没有优先于现有样式。 因此,如果我的元素设置了背景颜色,则事件和悬停背景颜色不会更改元素。 我该如何解决这个问题? 最佳答案
我正在考虑为 Salesforce Outbound Messaging 实现监听器应用程序。 walk through 使用已弃用的 ASMX Web 服务实现它。代码是使用带有/serverInt
对于每个表,EF 都会生成一个部分类,其中所有字段都可以公开访问,例如 public int ID { get; set; } 是否可以将 set 设为私有(private)?然后,我将只允许调用我的
我正在为水电站编写一个数据评估应用程序。我需要从服务器下载数据,该数据就在那里 - 作为 MySQL 表,格式化为 JSON 数组。现在,经过无数个小时的工作,我已经完成了连接到服务器、下载数据并将其
我是一名优秀的程序员,十分优秀!