我创建了一个新的类库(包)项目(在VS 2015 RC之前,使用更糟糕的名称作为asp.net类库来表示数据层。只是为了明确,这是较新的kproj样式结构。
已将EF 6.1.3添加到project.json中。目前仅针对DNX451进行定位。
"dependencies": {
"EntityFramework": "6.1.3"
,"Moq": "4.2.1502.911"
},
创建了初始模型类,并使用 AlwaysCreate 数据库初始化器,一切正常。现在需要切换到迁移,因此在包管理器控制台中使用 Enable-Migrations 命令,得到以下结果:
Enable-Migrations : The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Enable-Migrations
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Enable-Migrations:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
针对 EF7 迁移,包管理器不支持迁移命令。相反,有一个新的 ef 命令通过 dnu 运行,但该新进程只适用于 EF7 而不是 EF6,对吗?
为什么即使已经引用了 EF6,包管理器仍认为 Enable-Migrations 是无效的?
dnx ef migrations add InitialCreate --ignore-changes
。 - mrahhal