Je suis en train d'utiliser Oracle à l'aide dotConnect pour Oracle (v 9.4). Depuis aspnet noyau 2.0 a le soutien complet de référence plus net framework, je suis en train de se connecter à la base de données à l'aide d'un ensemble régulier .net (par exemple contenant l'ensemble mon DbContext est dans le ciblage .net 4.6.1 et est POSEES dans mon asp.net projet Core 2).aspnetcore 2.0 avec EF6 et dotConnect pour oracle
Je suis face à la question ci-dessous
"System.TypeInitializationException: 'The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception.'
Inner Exception: FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified."
Voici ma CodeConfig
classe
public class CodeConfig : DbConfiguration
{
public CodeConfig()
{
SetProviderServices("Devart.Data.Oracle", Devart.Data.Oracle.Entity.OracleEntityProviderServices.Instance);
SetProviderFactory("Devart.Data.Oracle", new Devart.Data.Oracle.OracleProviderFactory());
}
}
Ma classe DbContext
[DbConfigurationType(typeof(CodeConfig))]
public partial class MyEntities : DataContext, IMyStoredProcedures
{
public MyEntities(string nameOrConnectionString) : base(nameOrConnectionString)
{
Configure();
}
private void Configure()
{
this.Configuration.AutoDetectChangesEnabled = true;
this.Configuration.LazyLoadingEnabled = true;
this.Configuration.ProxyCreationEnabled = true;
this.Configuration.ValidateOnSaveEnabled = true;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
...
}
Exception est levée lorsque
base(nameOrConnectionString)
est exécuté.
DI au démarrage
var dbContext = new MyEntities(Configuration["Data:DefaultConnection:ConnectionString"]);
services.AddScoped<IDataContextAsync>(provider => dbContext);
services.AddScoped<IMyStoredProcedures>(provider => dbContext);
Appsettings.json
"Data": {
"DefaultConnection": {
"ConnectionString": "metadata=res://Org.MyApp.Entities/MyModel.csdl|res://Org.MyApp.Entities/MyModel.ssdl|res://Org.MyApp.Entities/MyModel.msl;provider=Devart.Data.Oracle;provider connection string="User Id=UID;Password=****;Server=Server;Persist Security Info=True""
}
}
Les liens suivants sont utilisés comme référence.
aspnet core 1.x with EF6 (Basé sur 1.x, mais a des informations utiles)