Sto lavorando su un'applicazione n-tier, dove ho Data Access Layer. che è indipendente da qualsiasi altra applicazione. Ho creato Class Library per .NET Core 1.1, posso vedere la cartella delle dipendenze ma non qualsiasi file config / JSON. Voglio sapere, Posso aggiungere il file AppSetting.JSON nel progetto della libreria di classi? seguito da come posso aggiungere una stringa di connessione. Sono consapevole di sovrascrivere ConfigureBuilder nella classe DbContext -> SQLServerConnection ma voglio mantenere in un file di configurazione separato e fare riferimento a queste stringhe di connessione.
Inoltre, questa libreria di classi non si collegherà direttamente all'applicazione ASP.NET
Durante la ricerca su google, ho trovato il seguente link https://www.stevejgordon.co.uk/project-json-replaced-by-csproj ma la mia domanda rimane, dove e come aggiungo la stringa di connessione per il progetto Class Library?
Hai in qualche modo sbagliato nel modo sbagliato. Non vuoi avere un file di configurazione per il tuo assembly DAL, semplicemente vuoi che il tuo DAL non sappia nulla sulla configurazione!
In genere, tutto ciò che si configura per un DAL è una stringa di connessione e questo può essere facilmente passato su un costruttore:
public class MyRepository : IMyRepository
{
public MyRepository(string connectionString){ ... }
}
Quando utilizzi questo DAL in qualcosa di simile a una probabilità di webapi utilizzerai Dependency Injection - ed è qui che si legge la stringa di connessione dalla configurazione di web api
public void ConfigureServices(IServiceCollection services)
{
var connectionString = Configuration.GetConnectionString("MyConnectionString");
services.AddScoped<IMyRepository>(sp => new MyRepository(connectionString));
}