Hallo Leute
Ich arbeite mit dem MVVP Pattern und dem ADO.NET 4.0 (Entity Framework).
Nun erstelle ich in der Model- Klasse eine Linq abfrage die zwei Tabellen Joint, das funzt auch alles wunderbar.
var query = from p in ppentities.tbl_person
join t in ppentities.tbl_tier on p.id_person equals t.idfs_person
select new {name= p.Vorname,bezeichnung= t.name };
//Hier müsste jetzt eine neue Klasse hin.
DataServiceQuery<tbl_person> proxy = (DataServiceQuery<tbl_person>)query;
proxy.BeginExecute(PersonCallback, proxy);
Doch Wie übergebe ich die Daten der ModelView-Klasse ohne jetzt eine neue Klasse erstellen zu müssen. Da ich es nur an ein Datagrid binden möchte das spielt ja im Prinzip bei WPF keine Rolle.
Zusaätzlich Frage?
Was wäre wenn ich das gebundene Datagrid zusätzlich noch editierbar setze also im Modus=twoway.
Wie Update ich das ganze weil es im Prinzip ja 2 tabllen sind, oder übernimmt das Framework?
Danke Im Voraus.
Hallo,
abfrage die zwei Tabellen Joint
Wenn die Tabellen in einer Beziehung sind (Fremdschlüsselbeziehung) dann ist kein Join in der Linq-Query notwendig denn die Beziehung wird automatisch erstellt. Schau dir die Eigenschaften deiner Model-Klassen an dann wirst du sehen dass diese Beziehung existiert.
Doch Wie übergebe ich die Daten der ModelView-Klasse ohne jetzt eine neue Klasse erstellen zu müssen.
Eine anonyme Klasse - die das Ergebnis deiner Query ist - kann nicht an eine andere Methode übergeben werden. Hier hilft es nichts als eine eigene Klasse zur Aufnahme des Ergebnisses zu erstellen. Wenn du aber obigen Punkt berücksichtigst kannst du die Klasse der Master-Tabelle der Beziehung übergeben.
Wie Update ich das ganze weil es im Prinzip ja 2 tabllen sind, oder übernimmt das Framework?
Wenn die Eigenschaften der Model-Objekte (Model ist hier von ADO.net EF) geändert werden so verfolgt ADO.net EF die Änderung und bei einem Save werden die Änderungen übertragen (als Hintergrund: Der Context entspricht dem Unit Of Work-Pattern).
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Doch Wie übergebe ich die Daten der ModelView-Klasse ohne jetzt eine neue Klasse erstellen zu müssen.
Danke Im Voraus.
wenn du .net 4 verwendest, kannst du anonyme typen per dynamic an methoden übergeben.
mfg
serial
Wie meinst du das ?
Wenn du aber obigen Punkt berücksichtigst kannst du die Klasse der Master-Tabelle der Beziehung übergeben.
Hallo,
damit meine ich dass du direkt tbl_person
übergeben kannst. Alle Beziehungen zu tbl_tier
sind darin enthalten. Andernfalls erstell eine Klasse
public class PersonTierModel
{
public string Vorname { get; set; }
public string Bezeichnung { get; set; }
}
und verwende diese in der Query und übergib diese Instanz.
BTW: Schau dir mal die Nameskonventionen an.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"