błąd przy dodawaniu danych do tabeli

0

Podczas dodawania zmiennej "kategoria" do tabeli wyskakuje mi taki błąd: "odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu". Byłbym wdzięczny za pomoc w rozwiązaniu tego problemu i wyjaśnienie o co chodzi. Oto kod.

public class HomeController : Controller
{
public KursyContext db = new KursyContext();

    public ActionResult Index()
    {
        Kategoria kategoria = new Kategoria { NazwaKategorii = "asp.net mvc", NazwaPlikuIkony = "aspnet.png", OpisKategorii = "Opis" };
        db.Kategorie.Add(kategoria);
        db.SaveChanges();

        return View();
    }
}
0

Nie podałeś, gdzie Ci dokładnie występuje ten błąd. Po prostu przekazujesz gdzieś nieutworzony obiekt.

0

błąd występuje w linijce db.Kategorie.Add(kategoria);

0

przecież obiekt "kategoria" został utworzony więc nie rozumiem o co chodzi.

0

Użyj debuggera. Powie Ci, że Kategorie są null.

0

Przeciez ta zmienna jest zainicjalizowana wiec dlaczego jest null??

0

db jest zainicjowane, co wcale nie oznacza, że db.Kategorie ma jakąś wartość.

0

W twojej klasie modelu, aby to działało (wypełniało się) automatycznie musisz mieć słówko kluczowe virtual przy odpowiednim DbSet<T> (bo wierzę, że mówimy o Entity Framework).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.