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
#

Linq SQL Beispiel:

 

 

Linq Beispiel

Folgender Beispiel Code erstellt eine Linq Abfrage zu einer SQL Datenbank, welche die Daten aus 4 Tabellen zusammensetzt.

Dabei werden die Tabellen mit JOIN verbunden und über .DefaultIfEmpty() zu Left oder Right Joins.

Final werden die Spalten mit Select new{..} zusammengestellt.

//----< Daten laden >----

//< get_Data >

var data = (from tbl in db.tblBase_Mitarbeiter

 

            join schicht in db.tblBase_Schichten on tbl.IDSchicht equals schicht.IDSchicht into schichtGroup

            from schichtrow in schichtGroup.DefaultIfEmpty()

 

            join maschine in db.tblBase_Maschinen on tbl.IDMaschine equals maschine.IDMaschine into maschineGroup

            from maschinenrow in maschineGroup.DefaultIfEmpty()

 

            join ma in db.tblBase_Mitarbeitergruppen on tbl.IDMitarbeitergruppe 

            equals ma.IDMitarbeitergruppe into maGroup from marow in maGroup.DefaultIfEmpty()

 

            orderby tbl.Nachname  ascending

            select new {

                IDMitarbeiter = tbl.IDMitarbeiter,

                Nachname = tbl.Nachname,

                Vorname = tbl.Vorname,

                Maschine = maschinenrow.Maschine,

                Mitarbeitergruppe = marow.Mitarbeitergruppe,

                Schicht = schichtrow.Schicht }

            )

.Take(1000);

 

//</ get_Data >

 

//--< @Loop: Rows >--

foreach (var row in data)

{

    ctlDataGrid.Items.Add(row);

}

//--</ @Loop: Rows >--

 

 

 

WPF DataGrid, XAML

In eine WPF DataGrid..

<DataGrid x:Name="ctlDataGrid" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"

         AutoGenerateColumns="False"

         GridLinesVisibility="All"

         Background="#F0f0f0"

         ItemsSource="{Binding}" 

         SelectionMode="Single" 

         IsReadOnly="True" 

         MouseDoubleClick="ctlDataGrid_MouseDoubleClick"

          SelectionChanged="CtlDataGrid_SelectionChanged"

          HeadersVisibility="All"                  

          Grid.Row="1"    

          SelectedValuePath="IDMitarbeiter"

         >

 

            <DataGrid.Columns >

                <DataGridTextColumn Header="ID" Binding="{Binding IDMitarbeiter}"/>

                <DataGridTextColumn Header="Nachname" Binding="{Binding Nachname}"/>

                <DataGridTextColumn Header="Vorname" Binding="{Binding Vorname}"/>

                <DataGridTextColumn Header="Schicht" Binding="{Binding Schicht}" />

                <DataGridTextColumn Header="Maschine" Binding="{Binding Maschine}"/>

                <DataGridTextColumn Header="MA Gruppe" Binding="{Binding Mitarbeitergruppe}" Width="*"/>

                

            </DataGrid.Columns>

        </DataGrid>

 

 

Tabellen-Beziehungen JOIN

Die folgende Datengrid Tabelle setzt sich aus den ersten Spalten einer Mitarbeiter-Tabelle zusammen und die Maschine, Schicht und Mitarbeitergruppe jeweils aus den Nebentabellen.

Dabei ist zu beachten, dass keine verbindliche JOIN Verbindung vom Mitarbeiter zu den Neben-Tabellen besteht, sondern optional Auswahlen stattfinden.

Deshalb muss in SQL LEFT oder RIGHT JOIN ausgewählt werden

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