Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

EF: 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() >----------------------

        }

 

 

Mobile
»
EF: Entity Framework SELECT Abfrage
»
EF: Find Text, DFirst DLookup
»
EF: neuen Datensatz anlegen, wenn kein Treffer gefunden
»
WPF: Datenbank Connection ändern zur Laufzeit
»
EF WPF : Direktes Aufrufen und Durchlaufen einer Tabelle in Entity Framework
»
WPF Datagrid mit neuen Daten laden
»
The cast to value type System.Int32 failed because the materialized value is null
»
Linq: neuen Datensatz erstellen
»
Linq: komplette Tabelle ausgeben
»
Linq: einzelne Spalten ausgeben aus einer SQL Tabelle

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de