entity-framework - 启用迁移 "Object reference not set to an instance of an object"

标签 entity-framework azure-sql-database azure-elastic-scale

我刚刚创建了一个新的服务结构服务,它将使用 Entity Framework 和弹性客户端数据库库定期尝试将一些模型保存到 SQL Azure。我正在尝试尽可能接近 SQL Azure Elastic Sc​​ale Client Library EF 示例 ( Elastic DB Tools EF Sample ) 对其进行建模。我现在需要启用迁移,但是当我运行 Enable-Migrations 时,我收到以下错误消息。我正在使用 ContextTypeName 参数,因为如果我最终要针对具有不同模型的同一数据库提供不同的服务结构服务,这听起来是必需的。有什么建议?

PM> Enable-Migrations -ContextTypeName "ServiceHealth.DbService"
Exception calling "SetData" with "2" argument(s): "Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is 
not marked as serializable."
At C:\eNowCloud\eNow.MicroServices\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:720 char:5
+     $domain.SetData('startUpProject', $startUpProject)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : SerializationException

System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project project, Int32 shellVersion)
   at System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project project)
   at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory)
   at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName)
   at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0()
   at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Object reference not set to an instance of an object.

最佳答案

我通过指定 -StartUpProjectName 解决了相同的异常问题Enable-Migrations的参数命令到我的 .NET 框架 dll 与 db 上下文。问题可能出在奇怪的启动项目上 - .IsWebProject() 中的问题(在我的例子中是 asp.core)。在 Enable-Migrations Exception calling "SetData" with "2" argument(s) 上查看更多详细答案.

关于entity-framework - 启用迁移 "Object reference not set to an instance of an object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241443/

相关文章:

c# - 查询EF上的虚拟列表属性

entity-framework - Entity Framework 服务层更新 POCO

c# - 从坏表列命名 C# 类

azure - 与ntp时钟同步

azure - 从 Databricks 笔记本中删除 Azure SQL 表

sql-server - 如何保持 Redis 数据与 SQL Server 中的数据准确

c# - 添加新导航属性后, Entity Framework 在查询时尝试将属性设置为 null

azure - 如何从 Service Fabric 无状态服务连接到并操作 Azure SQL 数据库

sql-server - 超时已过。在 Azure sql 上完成操作之前超时时间已过

c# - 无法使用 Azure SQL Elastic Sc​​ale 删除分片映射