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 { get; set; } public virtual DbSet<tblBase_Feiertage> tblBase_Feiertage { get; set; } public virtual DbSet<tblBase_Maschinen> tblBase_Maschinen { get; set; } public virtual DbSet<tblBase_Maschinengruppen> tblBase_Maschinengruppen { get; set; } public virtual DbSet<tblBase_Mitarbeiter> tblBase_Mitarbeiter { get; set; } public virtual DbSet<tblBase_Mitarbeitergruppen> tblBase_Mitarbeitergruppen { get; set; } public virtual DbSet<tblBase_Schichten> tblBase_Schichten { get; set; } public virtual DbSet<tblBase_Schichtgruppen> tblBase_Schichtgruppen { get; set; } public virtual DbSet<tbl_Schichtplan> tbl_Schichtplan { get; set; } } }
|
Darstellung der Datebank
Und die Datebank stellt sich in der Übergeordneten Datei direkt dar
Datei: dbModel.edmx
dbModel.edmx in der Design-Ansicht