2

Je travaille sur une application n-tier, où j'ai un Data Access Layer. qui est indépendant de toute autre application. J'ai créé la bibliothèque de classes pour .NET Core 1.1, je peux voir le dossier des dépendances mais pas le fichier config/JSON. Je veux savoir, Puis-je ajouter le fichier AppSetting.JSON dans le projet de bibliothèque de classes? suivi par comment puis-je ajouter une chaîne de connexion. Je suis conscient de remplacer ConfigureBuilder dans la classe DbContext -> SQLServerConnection mais je veux conserver dans un fichier de configuration séparé et faire référence à ces chaînes de connexion.Comment ajouter un fichier de configuration dans la bibliothèque de classes, suivi par une chaîne de connexion pour .NET Core 1.1

A noter également, Cette bibliothèque de classe ne sera pas un lien vers l'application ASP.NET directement

Bien que la recherche sur google, j'ai trouvé lien suivant https://www.stevejgordon.co.uk/project-json-replaced-by-csproj mais ma question reste, où et comment ajouter la chaîne de connexion pour Bibliothèque de classes projet?

+0

'Cette bibliothèque de classes ne liera pas directement à l'application ASP.NET, alors comment fonctionne-t-elle? Quelque chose doit être l'hébergement de la bibliothèque – Jamiec

+0

Je suis destiné à utiliser l'API Web, mais garder l'accès à la base de données, dbContext et référentiel indépendant – toxic

+0

bien, c'est une "Application ASP.NET" et c'est là que vous mettez votre config! – Jamiec

Répondre

4

Vous avez mal compris. Vous ne voulez pas avoir un fichier de configuration pour votre assembly DAL, vous voulez simplement que votre DAL ne sache rien du tout de la configuration!

En règle générale, tout ce que vous configurez pour une DAL est une chaîne de conection et cela peut facilement être transmis sur un constructeur:

public class MyRepository : IMyRepository 
{ 
    public MyRepository(string connectionString){ ... } 
} 

Lorsque vous utilisez cette DAL quelque chose comme une chance de WebAPI sont vous serez using Dependency Injection - et c'est ici que vous liriez la chaîne conn de la configuration de l'API Web

public void ConfigureServices(IServiceCollection services) 
{ 
    var connectionString = Configuration.GetConnectionString("MyConnectionString"); 
    services.AddScoped<IMyRepository>(sp => new MyRepository(connectionString)); 
} 
+0

merci beaucoup qui sera vraiment utile – toxic