IManifestTokenResolver für das erste Datenbankmodell?
Wir benötigen eine Option zum Festlegen des ProviderManifestToken im Code für ein erstes Datenbankmodell, um den Wert von EDMX zu überschreiben, der in unserem speziellen Fall standardmäßig "2012" für SQL Server 2012 ist.
Was wir bisher versucht haben: Wie in @ beschriebdieser Beitra Wir haben unsere Kontextklasse mit dem Attribut DbConfigurationType versehen. Unsere abgeleitete Klasse sieht genauso aus wie in diesem Beitrag.
internal sealed class MyDbConfiguration : DbConfiguration
{
public MyDbConfiguration()
{
//this.AddDependencyResolver(new SingletonDependencyResolver<IManifestTokenResolver>(new ManifestTokenService()));
this.SetManifestTokenResolver(new ManifestTokenService());
}
}
Wie Sie sehen können, haben wir hier zwei verschiedene Dinge ausprobiert: AddDependencyResolver und SetManifestTokenResolver.
Wenn wir die Ausführung des Anwendungsprogramms starten, wird der Konstruktor von MyDbConfiguration aufgerufen - und das wars, der Abhängigkeits-Resolver selbst.
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);
}
}
wird nie aufgerufen, also scheinen wir hier eine Sackgasse erreicht zu haben. Hat jemand das gleiche Problem gehabt und eine Lösung gefunden?