Ich habe zwei Projekte: Webprojekt, das Verbindungszeichenfolge in seinem appsetting.json
und Domain-Projekt enthält, das einige Repositories enthält, die Geschäftslogik implementiert. Jetzt muss ich die Verbindungszeichenfolge vom Web zum Domain Projekt übergeben. Zuerst habe ich Verbindung Zeichenfolge Wert von Config über Methode in this article beschrieben, aber wie kann ich es in Domain übergeben? In der vorherigen Version von ASP konnte ich es über ConfigurationManager tun, aber jetzt ist es unmöglich.Konfigurieren von Entity Framework im Multiprojekt ASP Core 1 Lösung
My DomainDbContext:
public class DomainDbContext : DbContext {
public DbSet<SomeEntity> SomeEntities{ get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder builder) {
builder.UseNpgsql(@"HardcodedConnectionString");
}
}
und es verwendet, wie
public List<SomeEntityDto> GetAll() {
using(var context = new DomainDbContext()) {
return AutoMapperHelper.Mapper.Map<List<SomeEntityDto>>(context.SomeEntities.ToList());
}
}
In Controller Provider Aufrufe wie
public class SomeController : Controller {
private readonly AppSettings _settings;
private readonly ISomeProvider _someProvider;
public OrderController(IOptions<AppSettings> settings,
ISomeProvider someProvider) {
_settings = settings.Value;
_someProvider = someProvider;
}
public ActionResult Index() {
return View("Index", new SomeModel {
someEntities = _someProvider.GetAll()
});
}
}