IManifestTokenResolver para o primeiro modelo de banco de dados?
Precisamos de uma opção para definir o ProviderManifestToken no código de um primeiro modelo de banco de dados, a fim de substituir o valor do EDMX, cujo padrão é "2012" para o SQL Server 2012 em nosso caso específico.
O que tentamos até agora: conforme descrito emesta postagem como decoramos nossa classe de contexto com o atributo DbConfigurationType, nossa classe derivada é exatamente igual à da postagem.
internal sealed class MyDbConfiguration : DbConfiguration
{
public MyDbConfiguration()
{
//this.AddDependencyResolver(new SingletonDependencyResolver<IManifestTokenResolver>(new ManifestTokenService()));
this.SetManifestTokenResolver(new ManifestTokenService());
}
}
Como você pode ver, tentamos duas coisas diferentes aqui, AddDependencyResolver e SetManifestTokenResolver.
Quando começamos a execução do programa de aplicativo, entra no construtor de MyDbConfiguration - e é isso, o próprio resolvedor de dependência
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);
}
}
nunca é invocado, então parece que chegamos a um beco sem saída aqui. Alguém já teve o mesmo problema e encontrou uma solução?