背景 我在安装了 .Net 4.5 的机器上使用 VS 2010,我读过它是就地安装(覆盖 .net 4.0 版本)。
我的项目仍然针对 4.0 和 4.5 选项不可用,但被告知没关系,因为 4.5 是就地安装。然后,我通过 nuget 安装了 EntityFramework -pre,并在运行 Upgrade-Database -Script 命令时发出通知,它不会生成枚举属性。
然后我发现了这个。我再次尝试从头开始做所有事情,但它仍然添加 EntityFramework 4.4 而不是 5.0。所以我手动将所有引用更改为指向 5.0 版本,以确保我拥有 EF 5.0 版本。全部编译。
问题 当我跑步时
Enable-Migrations -EnableAutomaticMigrations
我得到“在当前项目中找不到从 DbContext 派生的类。编辑生成的配置类以指定启用迁移的上下文。 ”
所以我手动确保我的课程是正确的,如下所示:
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
DataContext 是 DbContext 的子类。
当我跑
Update-Database -Script
我得到“在程序集 'MyProject' 中找不到迁移配置类型。(在 Visual Studio 中,您可以使用包管理器控制台中的 Enable-Migrations 命令添加迁移配置)。 ”
MyProject 确实具有我上面提到的配置类,并且在包管理器控制台中,我为包含迁移文件夹和此配置类的项目选择了正确的下拉列表。
问题
当我通过 nuget 安装 EnittyFramework 时,我该怎么做才能确保它添加了 5.0 版本而不是 4.4,即使我安装了 .Net 4.5?
如果我不能做与上述问题相关的任何事情,我能做些什么来确保 Upgrade-Database 吐出一个脚本?