【问题标题】:EF 6 Code based migration exception: Microsoft.VisualStudio.Data.Tools.Package not serializable?EF 6 基于代码的迁移异常:Microsoft.VisualStudio.Data.Tools.Package 不可序列化?
【发布时间】:2014-01-31 15:27:34
【问题描述】:

我有这个配置

internal sealed class Configuration :DbMigrationsConfiguration<IAS.Models.ApplicationDbContext> {
            public Configuration() {
                AutomaticMigrationsEnabled = false;
                ContextKey = "IAS.Models.ApplicationDbContext";
            }

            protected override void Seed( IAS.Models.ApplicationDbContext context ) {
                var baseDir = AppDomain.CurrentDomain.BaseDirectory;
                context.Database.ExecuteSqlCommand(File.ReadAllText(baseDir + "\\MyInsertScriptsql"));
        }
    }

运行 upate-dataabase 时出现以下异常

Excepción al llamar a "SetData" con los argumentos "2": "El Tipo 'Microsoft.VisualStudio.Data.Tools.Package.Internal.OAProject' 德尔 ensamblado 'Microsoft.VisualStudio.Data.Tools.Package, 版本=11.1.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 否 está marcado como 可序列化。” En D:\Dev\Insuranse Advanced 服务\IAS\packages\EntityFramework.6.0.0\tools\EntityFramework.psm1: 611 字数:20 + $domain.SetData c_DisplayClass2.<.ctor>b_0() zh System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作 命令)Referencia a objeto no establecida como instancia de un 对象。

【问题讨论】:

  • 编辑:我从 Seed 方法中删除了代码,无论如何都会抛出异常,每当我运行命令 Update-Database 时,有什么想法吗?

标签: entity-framework


【解决方案1】:

问题解决了,我打开了文件 ..\packages\EntityFramework.6.0.0\tools\EntityFramework.psm 和第 611 行声明:

 $domain.SetData('startUpProject', $startUpProject)

我在查看我的解决方案后发现启动项目已更改为数据库项目,更正此问题并且问题消失了。

【讨论】:

  • 看起来他们的后备技术不是防故障的
【解决方案2】:

这是一个非常晚的解决方案,但我认为它可能对其他人有所帮助。我遇到了这个问题,我将项目更改为启动项目(右键单击项目并“设置为启动项目”)并排序问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多