2016-06-13 10 views
1

Ich habe 3 Tabellen:Lesen von Daten mit Entity Framework der richtige Weg

  1. Person
  2. Folders
  3. PersonsFolders

Es gibt Beziehungen zwischen Person und PersonsFolders und zwischen Folders und PersonsFolders .

Jetzt muss ich in einer Gridview alle Ordner mit der ersten Person aus dem Array anzeigen. Ich habe versucht, Daten von PersonsFolders zu lesen, und ich habe alle Daten von Person und Ordnern abgerufen, aber ich habe jeden Ordner ein paar Mal - für jede Person mit dieser Ordner-ID.

ich gefiltert diese mit diesem Code:

.GroupBy(t => t.FolderID) 
       .Select(g => g.First()) 
       .ToList(); 

Ich habe versucht, auch alle Ordner und Anzeige wählen auf xamal

PersonsFolders[0].Person.Tel 

bekam aber nur Informationen von Ordner. Ich war nicht erfolgreich beim Abrufen von Informationen Person Tabelle - so dass die Informationen in der Gridview gleichzeitig erscheint.

Hat jemand eine Lösung?

Antwort

0
var list = Folders.Select(x=> new { Folder = x, Person = x.PersonFolders.OrderBy(pf => pf.person.name).first().select(pf => pf.person)}).ToList(); 

diese sollten Sie eine Liste mit Objekten geben, die 2 Eigenschaften, eine Eigenschaft für den Ordner und eine Eigenschaft für die Person oben

i erstellt ein kleines Beispiel für den Code haben

https://dotnetfiddle.net/yBCwZC

+0

Auch bei Änderungen zur Anpassung funktioniert der Code nicht. –

+0

Überprüfen Sie die Bearbeitung, ist das, was Sie mit Ihrer Frage gemeint? – Gelootn

+0

Vor allem wirklich danke. Ich habe deinen Code kopiert und es funktioniert großartig, aber in meinem Code mit Entity Framework Es funktioniert nicht. Ich sehe die Daten in system.data.entity.dynamicproxies.wenn ich in den Code gehe –

Verwandte Themen