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

WPF EF: Direktes Durchlaufen einer ein Tabelle

27.01.2019 (👁8814)

 Loop durch eine EF.Tabelle

Wie ruft man eine Tabelle direkt in WPF auf mit Entity-Framework EF.

 

Hierzu kann man direkt auf die Tabelle zugreifen wie hier und dann einfach mit einem foreach() die Zeilen durchlaufen

var data_Schichtgruppen = db.tblBase_Schichtgruppen;

 

C# Code zum Durchlaufen der Tabelle in ef entityframework, wpf mit compact database Tabelle

private void Schichtgruppen_Schicht_Array_erstellen()

{

    //----------< Schichtgruppen_Schicht_Array_erstellen() >----------

    //*erstellt ein Array aus Schichtgruppen und aktueller Schicht

    //< @Loop: Tabelle_Schichtgruppen >

    var data_Schichtgruppen = db.tblBase_Schichtgruppen;

    foreach (var schichtgruppe in data_Schichtgruppen)

    {

        int IDSchichtgruppe = schichtgruppe.IDSchichtgruppe;

        int IDSchicht_der_Schichtgruppe = clsSchichtplan.berechne_IDSchicht_aus_IDSchichtgruppe(IDSchichtgruppe, _Date_Monday_of_PlanWeek);

 

        //< Eintrag_in_SortedList_anfuegen >

        //*Key,Value

        _List_Schichtgruppen_Schichten.Add(IDSchichtgruppe, IDSchicht_der_Schichtgruppe);

        //</ Eintrag_in_SortedList_anfuegen >

    }

    //</ @Loop: Tabelle_Schichtgruppen >

    //----------< Schichtgruppen_Schicht_Array_erstellen() >----------

}

 

 

Im Beispiel wird die Tabelle in eine Liste mit 2 Werten übertragen. Hierzu verwendet man ein SortedList oder Dictionary

private SortedList<int,int> _List_Schichtgruppen_Schichten = new SortedList<int,int>();

 

 

 

Datenbank

Wobei die db Datenbank aus der EF EntityFramework in diesem Beispiel kommt

db = new dbConnectionString();

if (db.Database.Connection.State == System.Data.ConnectionState.Closed || db.Database.Connection.State == System.Data.ConnectionState.Broken)

db.Database.Connection.Open();

 

 

//--< init >--

_Date_Monday_of_PlanWeek = Get_Monday_of_Date(DateTime.Today);

 

 

Datenbank als EF.dbConnectionstring

Die Datenbank findet man bei EF EntityFramework direkt unter

dbModel.Context.cs (der Code Datei in Context)

 

//------------------------------------------------------------------------------

// <auto-generated>

//     This code was generated from a template.

//

//     Manual changes to this file may cause unexpected behavior in your application.

//     Manual changes to this file will be overwritten if the code is regenerated.

// </auto-generated>

//------------------------------------------------------------------------------

 

namespace Schichtplaner

{

    using System;

    using System.Data.Entity;

    using System.Data.Entity.Infrastructure;

    

    public partial class dbConnectionString : DbContext

    {

        public dbConnectionString()

            : base("name=dbConnectionString")

        {

            this.Configuration.LazyLoadingEnabled = false;

        }

    

        protected override void OnModelCreating(DbModelBuilder modelBuilder)

        {

            throw new UnintentionalCodeFirstException();

        }

    

        public virtual DbSet<tblBase_Abwesenheitsgruende> tblBase_Abwesenheitsgruende { getset; }

        public virtual DbSet<tblBase_Feiertage> tblBase_Feiertage { getset; }

        public virtual DbSet<tblBase_Maschinen> tblBase_Maschinen { getset; }

        public virtual DbSet<tblBase_Maschinengruppen> tblBase_Maschinengruppen { getset; }

        public virtual DbSet<tblBase_Mitarbeiter> tblBase_Mitarbeiter { getset; }

        public virtual DbSet<tblBase_Mitarbeitergruppen> tblBase_Mitarbeitergruppen { getset; }

        public virtual DbSet<tblBase_Schichten> tblBase_Schichten { getset; }

        public virtual DbSet<tblBase_Schichtgruppen> tblBase_Schichtgruppen { getset; }

        public virtual DbSet<tbl_Schichtplan> tbl_Schichtplan { getset; }

    }

}

 

 

Darstellung der Datebank

Und die Datebank stellt sich in der Übergeordneten Datei direkt dar

Datei: dbModel.edmx

dbModel.edmx in der Design-Ansicht