Comment puis-je implémenter DbContext Connection Ssortingng dans .NET Core?

Ma situation est assez similaire à ce lien ou du moins mon code est similaire et j’essaie de trouver un moyen d’appliquer cette même méthode dans la syntaxe .NET Core.

Transmettre la chaîne de connexion à DbContext, le premier code

Mon code spécifique est le suivant:

public partial class CompanyFormsContext : DbContext { public CompanyFormsContext() : base("name=CompanyFormsContext") { } public CompanyFormsContext(ssortingng connName) : base("name=" + connName) { } ... } 

Je reçois une erreur en disant:

Erreur CS1503 Argument 1: impossible de convertir de ‘chaîne’ en ‘Microsoft.EntityFrameworkCore.DbContextOptions’ CompanyForms..NETCoreApp, Version = v1.0

quand je vais sur la parenthèse dans la base("name=CompanyFormsContext") ou la base("name=" = connName) .

Quelle est la bonne façon d’implémenter cette fonctionnalité dans .NET Core?

Modifier:

Je voulais partager le fait que j’ai les informations suivantes pour la connexion à la firebase database dans mon fichier appsettings.json: (Cependant, je n’ai pas de parameters dans le fichier startup.cs)

  "Data": { "CompanyFormsContext": { "ConnectionSsortingng": "Server=(localdb)\\projectsv13;Database=companyforms;Trusted_Connection=True;" }, "CompanyFormsContextQA": { "ConnectionSsortingng": "Server=(localdb)\\projectsv13;Database=companyforms;Trusted_Connection=True;" } } 

et j’ai trouvé le lien suivant Ajouter DbContextOptions dans Startup.cs ne pas enregistrer le magasin de données sur le site Web et je me demande si un simple protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) sera suffisant pour réparer ma connexion?

Du lien:

 services.AddEntityFramework(Configuration) .AddSqlServer() .AddDbContext( options => options.UseSqlServer(Configuration.Get("Data:CompanyFormsContext:ConnectionSsortingng")) ); 

Ai-je besoin de ce type de service dans mon fichier Startup.cs?

Une autre option serait d’appeler le constructeur de base qui prend un DbContextOptions:

 public BooksContext(ssortingng connectionSsortingng) : this(GetOptions(connectionSsortingng)) { } private static DbContextOptions GetOptions(ssortingng connectionSsortingng) { return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionSsortingng).Options; } 

En règle générale, vous souhaiterez le lire depuis config au démarrage, puis utiliser la chaîne de connexion pour configurer un service DbContext Entity Framework pour votre processus.

1) Ajoutez une ligne à votre appsettings.json:

 "DbConnectionSsortingng": "Server=s;Database=db;Trusted_Connection=True;", 

2) Lisez la ligne dans votre classe Startup.cs (après l’appel de la méthode Startup pour construire la configuration – comme d’habitude dans la méthode ConfigureServices), comme suit:

 var connection = Configuration["DbConnectionSsortingng"]; 

3) Si vous utilisez Entity Framework, ajoutez un service de contexte de firebase database (MyDbContext est la classe de contexte générée par EF). Vous souhaitez également indiquer à l’dependency injection intégrée comment instancier votre contexte de firebase database:

 services.AddDbContext(options => options.UseSqlServer(connection)); services.AddScoped(); 

Où IMyDbContext est (à son plus simple) une interface que vous avez extraite de votre MyDbContext

4) Maintenant, vous pouvez définir votre contrôleur pour qu’il prenne un MyDbContext et la DI se chargera de le construire et de le transmettre lorsque le contrôleur est appelé:

 public MyController(IMyDbContext context) { _context = context // store for later use } 

Meilleure pratique de l’OMI:

ajoutez à votre configuration.json :

  "ConnectionSsortingngs": { "BooksContext": "Server=MyServer;Database=MyDb;Trusted_Connection=True;" } 

et pour initialiser la section:

 services.AddDbContext(options => options.UseSqlServer(configuration.GetConnectionSsortingng(nameof(BooksContext))));