EF Code-Beispiel: neuen Datensatz anlegen, wenn kein Treffer gefunden
Ein übliches Vorgehen bei Datenbanken ist, dass man einen Eintrag in einer Datenbank sucht, und wenn dieser nicht vorhanden ist, dann soll ein neuer Datensatz angelegt werden.
Das folgende Beispiel zeigt, wie man in EF Entity framework diese Aufgabe löst als Code Vorlage
EF Beispiel:
Suche einen Datensatz->wenn der Datensatz null ist, dann neuen Datensatz erstellen, ansonsten den gefundenen Datensatz verwenden
//----< Speichern >---- int ID; var data = db.tbl_Abwesenheiten.FirstOrDefault(rec=>rec.IDMitarbeiter==1); if(data == null) { //--< neuer Datensatz >-- tbl_Abwesenheiten new_Record = new tbl_Abwesenheiten(); new_Record.Inhalt = "Neuer Beitrag";
//< save > db.tbl_Abwesenheiten.Add(new_Record); //ID: 0->-99999 db.SaveChanges(); //ID: -99999->16 //</ save >
//< new ID > ID = new_Record.ID; //</ new ID > //--</ neuer Datensatz >-- } else { //--< Datensatz_aendern >-- //< save > data.Inhalt = "schon vorhanden"; db.SaveChanges(); //ID: -99999->16 ID = data.ID;
//--</ Datensatz_aendern >-- } //----</ Speichern >----
|
Komplettes C#, Entity Framework Beispiel
private void Item_Click(object sender, RoutedEventArgs e) { //-------------< Item_Click() >---------------------- //*ContextMenu_Item //*: MenuItem__IDMitarbeiter_6_IDAbwesenheit_1_DatePlan_20190205 MenuItem menuItem = (MenuItem) sender; string sName = menuItem.Name;
//< QuellElement holen > ContextMenu contextMenu = (ContextMenu) menuItem.Parent; FrameworkElement element= (FrameworkElement) contextMenu.PlacementTarget; //</ QuellElement holen >
//< Daten_ermitteln > int IDMitarbeiter = clsStrings.get_Key_Value_from_String_as_Integer(sName, "IDMitarbeiter"); int IDAbwesenheitsgrund = clsStrings.get_Key_Value_from_String_as_Integer(sName, "IDAbwesenheitsgrund"); DateTime DatePlan = clsStrings.get_Key_Value_from_String_as_Date(sName, "DatePlan"); //</ Daten_ermitteln >
//----< Speichern >---- int IDAbwesenheit; var data = db.tbl_Abwesenheiten.FirstOrDefault(rec=>rec.IDMitarbeiter==IDMitarbeiter && rec.IDAbwesenheitsgrund==IDAbwesenheitsgrund && rec.Date_Plan==DatePlan); if(data == null) { //--< neuer Datensatz >-- tbl_Abwesenheiten new_Record = new tbl_Abwesenheiten(); new_Record.IDMitarbeiter = IDMitarbeiter; new_Record.IDAbwesenheitsgrund = IDAbwesenheitsgrund; new_Record.Date_Plan = DatePlan;
//< save > db.tbl_Abwesenheiten.Add(new_Record); //ID: 0->-99999 db.SaveChanges(); //ID: -99999->16 //</ save >
//< new ID > IDAbwesenheit = new_Record.IDAbwesenheit; //</ new ID > //--</ neuer Datensatz >-- } else { //--< Datensatz_aendern >-- data.IDMitarbeiter = IDMitarbeiter; data.IDAbwesenheitsgrund = IDAbwesenheitsgrund; data.Date_Plan = DatePlan; //< save > db.SaveChanges(); //ID: -99999->16 IDAbwesenheit = data.IDAbwesenheit;
//--</ Datensatz_aendern >-- } //----</ Speichern >----
//----< Anzeigen >----
//----</ Anzeigen >----
//-------------</ Item_Click() >---------------------- } |