2016-07-05 7 views
1

On My DB Kontextklasse Ich habe Code wie dieseMVC-Controller führt null Referenzfehler

modelBuilder.Entity("WebApplication10.Data.JobCategory", b => 
      { 
       b.Property<int>("ID") 
        .ValueGeneratedOnAdd(); 

       b.Property<string>("JobCategoryName"); 

       b.Property<int>("JobCategoryParentID"); 

       b.Property<string>("jobCategoryDetails"); 

       b.HasKey("ID"); 

       b.ToTable("JobCategory"); 
      }); 

Und auf meinem Controller

private readonly ApplicationDbContext _context; 

    public IActionResult Index() 
    { 
     return View(_context.JobCategory.ToList()); 
    } 

aber auf meinem Controller-Klasse bekomme ich einen Fehler wie diese

Eine Ausnahme vom Typ 'System.NullReferenceException' trat in WebApplication10.dll auf, wurde jedoch nicht im Benutzercode

01 behandelt

Weitere Informationen: Objektreferenz wurde nicht auf eine Instanz eines Objekts festgelegt. Kann jemand darauf hinweisen, was ich falsch mache?

+2

initialisieren Sie jemals Ihre '_context' Variable? –

+0

Setzen Sie einen Haltepunkt und überprüfen Sie Ihre Variablen (Ex: _context) und sehen, ob es (oder eine Eigenschaft, auf die Sie zugreifen) Null ist – Shyju

+0

Vorschlag: Praxis Platzierung Debug-Punkt, um Probleme zu debuggen.Es hilft viel und einige Zeit Lösung ist im Fehler selbst. .net-Framework ist sehr intelligent und verwendet aussagekräftige Namen. –

Antwort

1

Es scheint so, als ob Ihre _context Variable nie initialisiert wurde. Wie können Sie auf die JobCategory Eigenschaft zugreifen?

Die Laufzeit ein NullReferenceExceptionimmer bedeutet die gleiche Sache zu werfen: Sie versuchen, einen Verweis zu verwenden. Die Referenz wird nicht initialisiert (oder initialisiert, aber nicht mehr initialisiert).

Dies bedeutet, dass die Referenz null ist und Sie nicht auf Mitglieder über eine null Referenz zugreifen können. Der einfachste Fall:

string foo = null; 
foo.ToUpper(); 

Dies wird eine NullReferenceException in der zweiten Zeile werfen, weil Sie nicht die Instanz Methode ToUpper() auf einem string Referenz zeigt auf null aufrufen können.

Initial Ihre Variable wie folgt aus:

private readonly ApplicationDbContext _context = new ApplicationDbContext(); 
+0

Kannst du mir zeigen, wie ich das machen könnte? – Athul

+0

Ich habe meine Frage bearbeitet. – user3378165

+0

Danke, aber ich habe das schon vorher so gemacht private readonly ApplicationDbContext _context; Aber es funktioniert immer noch nicht – Athul

Verwandte Themen