Ich arbeite an einer ASP.Net Core 2 MVC-Anwendung.Fehler in asp.net MVC Core 2 Gerüst generiert Controller
Ich erzeuge einen Controller pro Tisch für meine Back-Office mit diesem Befehl:
dotnet aspnet-codegenerator --project . controller -name MYTABLEController -m MYTABLE -dc MYDBContext
(ersetzen MYTABLE und MYDBContext Beispiele sind).
Hier ist, was die csharp-Controller wie folgt aussieht:
namespace MYPROJECT.Controllers
{
public class MYTABLEController : Controller
{
private readonly MYDBContext _context;
public ContactsController(MYDBContext context)
{
_context = context;
}
Hat man sieht es einen Konstruktor erstellt, die einen Parameter akzeptiert: das Datenbankobjekt (EntityFramework).
Wenn ich die Webseite aufruft, bekomme ich einen Fehler in diesem Kontext, weil sie nicht initialisiert ist.
Hier ist, was ich zu tun, damit es funktioniert:
namespace MYPROJECT.Controllers
{
public class MYTABLEController : Controller
{
private readonly MYDBContext _context = new MYDBContext();
public ContactsController()
{
}
Also meine Frage lautet:
Gibt es einen besten Weg, um dieses Problem zu beheben? Ich frage mich, ob es wirklich ein Fehler ist oder wenn ich etwas vermisse.
Aussehen und Verhalten jeder generierten HTML-Ansicht ist sehr hässlich. Gibt es einige Möglichkeiten, um etwas sexy zu bekommen?
Dank
ich diesen Fehler jetzt: System.ArgumentException: AddDbContext mit Konfiguration genannt wurde, aber der Kontext Typ ‚MyDBContext‘ erklärt nur einen parameterlosen Konstruktor. – Bob5421
aktualisiert die Antwort, werfen Sie einen Blick. Wahrscheinlich müssen Sie Ihre DbContext-Klasse aktualisieren. –
In diesem Fall habe ich "InvalidOperationException: Service konnte für den Typ 'XXXX.XXXXContext' nicht aufgelöst werden beim Versuch, 'XXXXX.ControllersXXXController' zu aktivieren. – Bob5421