Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User
ef ; entity ;

EF: neuen Datensatz anlegen, wenn kein Treffer gefunden.

18.02.2019 (👁4164)

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

        }