Add extensions for DI

Offen
#27 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
csharp, sqlite
Bereich
backend, database

Rechercherichtung

Beginne mit der im Issue gezeigten Verwendung von WebApplication.CreateBuilder und AddDataTables und überprüfe anschließend die Database-Registrierung sowie den TestHost/custom WebApplicationFactory-Kontext. Bestätige die vorgesehene Dependency-Injection-Erweiterungsschnittstelle und wie sie sich in Integrationstests verhalten sollte. Als erledigt gilt dies, wenn die Registrierung für das gezeigte SQLite-Setup ohne die gemeldeten Testprobleme funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Usage:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllersWithViews();
builder.Services.AddDataTables("sqlite", "Data Source=./db.sqlite"); // <----------- NEW!

var app = builder.Build();

app.UseStaticFiles();

app.MapDefaultControllerRoute();

app.Run();

Usage:

public CarsController(Database db) : ControllerBase // new primary constructors
{
  [HttpGet("DataTable")]
  [HttpPost("DataTable")]
  public ActionResult<DtResponse> GetDataTable()
  {
    // db.XYZ
  }
}

I have created my own but I am having other issues with my approach in the context of integration tests with TestHost and a custom WebApplicationFactory.

DbProviderFactories.RegisterFactory("Microsoft.Data.Sqlite", SqlClientFactory.Instance);
services.AddScoped((sp) =>
{
    return new Database("sqlite", sqliteConnectionString, "Microsoft.Data.Sqlite");
});
Vorherrschende Sprache
C#
Sterne
19
Forks
11
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus DataTables/NET

Alle Issues in DataTables/NET

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.