IManifestTokenResolver для базы данных первой модели?

Нам нужна опция для установки ProviderManifestToken в коде для модели базы данных в первую очередь, чтобы переопределить значение из EDMX, которое по умолчанию равно «2012» для SQL Server 2012 в нашем конкретном случае.

Что мы уже пробовали: как описано вэта почта мы украсили наш контекстный класс атрибутом DbConfigurationType, наш производный класс выглядит точно так же, как в этом посте.

internal sealed class MyDbConfiguration : DbConfiguration
{
   public MyDbConfiguration()
   {
      //this.AddDependencyResolver(new SingletonDependencyResolver<IManifestTokenResolver>(new ManifestTokenService()));

      this.SetManifestTokenResolver(new ManifestTokenService());
   }
}

Как вы можете видеть, мы попробовали 2 вещи здесь, AddDependencyResolver и SetManifestTokenResolver.

Когда мы запускаем приложение, выполнение программы входит в конструктор MyDbConfiguration - и все, сам преобразователь зависимостей.

internal sealed class ManifestTokenService : IManifestTokenResolver
{
   private const string SqlServerManifestToken = @"2005";

   private static readonly IManifestTokenResolver DefaultManifestTokenResolver = new DefaultManifestTokenResolver();

   /// <inheritdoc />
   public string ResolveManifestToken(DbConnection connection)
   {
      if (connection is SqlConnection)
      {
         return SqlServerManifestToken;
      }

      return DefaultManifestTokenResolver.ResolveManifestToken(connection);
   }
}

никогда не вызывается, так что, похоже, мы зашли в тупик. У кого-нибудь была такая же проблема и нашел решение?

Ответы на вопрос(0)

Ваш ответ на вопрос