Hallo,
der Titel ist evt. nicht ganz klar, aber mir fällt nichts besseres ein.
Es geht um folgendes:
in meiner Anwendung soll folgender Code vereinfacht werden:
Wie zu erkennen, ändert sich nur die Tabelle in der Linq-Abfrage -> Admin.conn.ModulMikro wird zu Admin.conn,Exponate, der Rest bleibt gleich. Nach gleichem Muster sollen weitere Tabellen aufgerufen werden.
Ich habe versucht, die Variable arQuery als Public zu deklarieren, bin aber damit nicht weiter gekommen.
Für Tipps/Hinweise wäre ich dankbar
Anmerkung noch: Ich bin gerade erst von VB.Net nach C# mit Linq umgestiegen und also noch ziemlich unbedarft
PTBBerlin
der Titel ist evt. nicht ganz klar, aber mir fällt nichts besseres ein.
Es geht um folgendes:
in meiner Anwendung soll folgender Code vereinfacht werden:
Quellcode
- if (selected.Modul == 1)
- {
- var arQuery = (from acp in Admin.conn.ModulMikro where acp.Grunddaten_ID == gdID select acp).FirstOrDefault(); // Admin.conn enthält DataContext
- if (arQuery == null)
- {
- return;
- }
- foreach (PropertyInfo info in arQuery.GetType().GetProperties())
- {
- if (info.CanRead)
- {
- //NULL-Value abfangen
- if (info.GetValue(arQuery, null) == null)
- {
- myValue = "";
- }
- else myValue = info.GetValue(arQuery, null).ToString();
- myModule.Add(info.Name, myValue);
- }
- }
- }
- else if (selected.Modul == 2)
- {
- var arQuery = (from acp in Admin.conn.Exponate where acp.Grunddaten_ID == gdID select acp).FirstOrDefault();
- if (arQuery == null)
- {
- return;
- }
- foreach (PropertyInfo info in arQuery.GetType().GetProperties())
- {
- if (info.CanRead)
- {
- //NULL-Value abfangen
- if (info.GetValue(arQuery, null) == null)
- {
- myValue = "";
- }
- else myValue = info.GetValue(arQuery, null).ToString();
- myModule.Add(info.Name, myValue);
- }
- }
- }
- DGCurrModul.ItemsSource = myModule;
-
Wie zu erkennen, ändert sich nur die Tabelle in der Linq-Abfrage -> Admin.conn.ModulMikro wird zu Admin.conn,Exponate, der Rest bleibt gleich. Nach gleichem Muster sollen weitere Tabellen aufgerufen werden.
Ich habe versucht, die Variable arQuery als Public zu deklarieren, bin aber damit nicht weiter gekommen.
Für Tipps/Hinweise wäre ich dankbar
Anmerkung noch: Ich bin gerade erst von VB.Net nach C# mit Linq umgestiegen und also noch ziemlich unbedarft
PTBBerlin