Hallo Kollegen,
ich experimentiere mit einer kleinen Linq to SQL Anwendung. Ich habe dazu eine SQL Server Compact Datenbank mit einigen Tabellen angelegt. Ich habe eine DataContext Klasse erzeugt und eine Klasse aus diesem Kontext als Datenquelle deklariert. Ich habe eine Listbox und ein paar andere Controls auf ein Formular gelegt. Wenn ich das Datenquellenobjekt auf das Formular ziehe, wird eine BindingSource und ein Navigator erzeugt.
Wenn ich das Formular starte, wird der Inhalt der Tabelle "Categories" in der Listbox angezeigt. Über den Navigator kann ich ich Datensätze löschen, was auch sofort in der Listbox zu sehen ist. Nun möchte ich der Tabelle neue Einträge hinzufügen. Ich erzeuge also eine neue Instanz von Categories -> der Mapper Klasse für die Tabelle und füge diese Instanz in den DataContext ein, indem ich zuerst
dataContext.Categories.InsertOnSubmit(myNewCatergory)
und dann
dataContext.SubmitAllChanges()
aufrufe. Leider wird der neue Eintrag nicht in der Listbox angezeigt. Erst wenn ich das Programm abbreche und neu starte, ist der Eintrag zu sehen. Wenn ich nach dem Einfügen, die Instanzvariable mit dem DataContext neu intialisiere -> var = New DBDataContext, wird die Listbox mit dem neuen Eintrag versehen. Ich kann mir allerdings nicht vorstellen, dass dieses Vorgehen so sein soll.
Wo ist mein Fehler?
ich experimentiere mit einer kleinen Linq to SQL Anwendung. Ich habe dazu eine SQL Server Compact Datenbank mit einigen Tabellen angelegt. Ich habe eine DataContext Klasse erzeugt und eine Klasse aus diesem Kontext als Datenquelle deklariert. Ich habe eine Listbox und ein paar andere Controls auf ein Formular gelegt. Wenn ich das Datenquellenobjekt auf das Formular ziehe, wird eine BindingSource und ein Navigator erzeugt.
Wenn ich das Formular starte, wird der Inhalt der Tabelle "Categories" in der Listbox angezeigt. Über den Navigator kann ich ich Datensätze löschen, was auch sofort in der Listbox zu sehen ist. Nun möchte ich der Tabelle neue Einträge hinzufügen. Ich erzeuge also eine neue Instanz von Categories -> der Mapper Klasse für die Tabelle und füge diese Instanz in den DataContext ein, indem ich zuerst
dataContext.Categories.InsertOnSubmit(myNewCatergory)
und dann
dataContext.SubmitAllChanges()
aufrufe. Leider wird der neue Eintrag nicht in der Listbox angezeigt. Erst wenn ich das Programm abbreche und neu starte, ist der Eintrag zu sehen. Wenn ich nach dem Einfügen, die Instanzvariable mit dem DataContext neu intialisiere -> var = New DBDataContext, wird die Listbox mit dem neuen Eintrag versehen. Ich kann mir allerdings nicht vorstellen, dass dieses Vorgehen so sein soll.
Wo ist mein Fehler?