SQL 的 .NET 代码首次迁移:将迁移添加到现有数据库

.NET Code first migration for SQL: adding migration to an existing database

我被安排在一个 C# 项目上,该项目已经在 azureSQL 数据库 上实现了一个 自动代码优先迁移系统.

我们在 Azure 上有一个数据库,但我必须为此目的使用本地主机测试数据库。

在 Web.config 中已经有一种机制可以在 azure 或本地数据库之间进行选择,使用:

<add name="MS_TableConnectionString" connectionString="..." .. />

我按照以下 tutorial 一步步操作,但现在当我 运行 应用程序时,我收到以下错误:

No service registered for type 'ITableControllerConfigProvider'. Please Ensure That the dependency resolve Has Been Correctly configured.

错误由第 20 行的 WebApiConfig.cs 触发:

// Use this class to set WebAPI configuration options
HttpConfiguration config = ServiceConfig.Initialize(new ConfigBuilder(options));

我找到了 this solution online,但没用。我为 System.Web.Http 添加了 dependentAssembly 但仍然出现相同的错误。

此错误背后的原因是什么?处理它的最佳方法是什么?

更新

感谢提供的反馈,我得以修复它。对于任何有相同情况的人,这就是我所缺少的:

更新 2

我更新了我的迁移机制,受到以下启发tutorial.

我无法确定您的代码为何会抛出该错误。我认为只有三件事可能是问题的原因。

  1. 您的配置未完全初始化。尝试

    config.EnsureInitialized()

  2. 您正在使用像 Ninject 这样的依赖注入框架,并且尚未设置依赖解析器。尝试

    config.DependencyResolver = 新 Ninject解析器(内核)

同时检查 link https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.mobile.service.tables.itablecontrollerconfigprovider.aspx

我认为您必须将 ITableControllerConfigProvider 的实现注册为配置的依赖项解析器。

  1. 您可能缺少一个程序集

希望对您有所帮助。