Ich muss mehrere Tabellen mit Repository-Muster & Entity Framework (mit C#) verbinden. Ist das möglich? Wenn ja, lassen Sie mich bitte wissen, wie Sie dasselbe tun können.Wie Sie mehrere Tabellen mit Repository Pattern & Entity Framework verbinden?
5
A
Antwort
4
In EF erfolgt die Verknüpfung von Tabellen mithilfe von Navigationseigenschaften. Grundsätzlich macht EF es für Sie. Bei der Implementierung in Ihren Repositorys, sei es generisch oder nicht, können Sie die Methode Include aufrufen, wenn Sie Ihren Abfrageausdruck erstellen, um EF anzuweisen, die Navigationseigenschaften für Sie aufzufüllen.
Lassen Sie uns sagen, dass wir diese POCO-Klasse haben:
public class Dog
{
public int DogId { get; set; }
public string Name { get; set; }
public int OwnerId { get; set;}
public Owner Owner { get; set; } // the navigation property
}
public class Owner
{
public int OwnerId { get; set; }
public string Name { get; set; }
// another navigation property
// all the dogs that are related or owned by this specific owner
public ICollection<Dog> DogList { get; set; }
public ICollection<Cat> CatList { get; set; }
}
Hier ist ein Beispielcode-Schnipsel Fügen Sie mit:
public virtual IEnumerable<Dog> Retrieve()
{
var _query = context.Dog.Include(a => a.Owner);
...
...// rest of your code
}
Und für mehrere Tabellen können Sie nisten die umfassen Verfahren wie so:
public virtual IEnumerable<Owner> Retrieve()
{
// you can nest as many as you want if there are more nav properties
var _query = context.Owner
.Include(a => a.DogList)
.Include(a => a.CatList);
...
...// rest of your code
}
Sobald Sie nav Eigenschaften einschließen, dann schließt das im Grunde diese anderen Tabellen. Sehen Sie sich einfach das SQL an, das von der Abfrage generiert wird. Hoffe das hilft!
Verwandte Themen
- 1. Entity Framework und Repository Pattern (Problem mit IQueryable)
- 2. Kombinieren Sie Aggregatfunktionen über mehrere Tabellen Entity Framework mit
- 3. Repository-Muster und Entity-Framework
- 4. Wie mehrere Tabellen in Entity Framework mit Code ersten Ansatz verbinden
- 5. Kann keine Klasse mit Entity Framework verbinden
- 6. Hibernate JPA, mehrere Tabellen verbinden
- 7. Wählen Sie mehrere Spalten mit Entity Framework
- 8. Entity Framework - Einfügen in mehrere Tabellen mit Fremdschlüssel
- 9. Muster zum Abrufen komplexer Objektdiagramme mit Repository Pattern mit Entity Framework
- 10. verbinden Sie Entity-Framework direkt mit Microsoft Dynamics CRM
- 11. Einfaches Repository asp.net mvc mit Entity-Framework
- 12. Entity Framework Generischer Repository-Fehler
- 13. Minimale Repository-Implementierung mit Entity Framework
- 14. (My) SQL: Verbinden Sie mehrere Tabellen
- 15. Bookshelf.js verbinden mehrere Tabellen
- 16. verbinden mehrere Beziehung Tabellen
- 17. Repository Pattern-Klassengenerator
- 18. Lokalisierte Tabellen und Entity Framework
- 19. Verbinden Sie MySQL DB mit Entity Framework Fehler
- 20. Verwenden des Repository-Musters mit Entity Framework (MVC Storefront)
- 21. Einfügen von Daten in mehrere Tabellen im Entity-Framework
- 22. Entity Framework und mehrere Schemas
- 23. Wie DbContext.Entry-Methode in Entity Framework mit Repository-Muster fake
- 24. Entity Framework: Wie Kind mit generischen Repository-Muster löschen?
- 25. Löschen verbinden mit, um mehrere Tabellen
- 26. Kann das Repository-Muster nur mit Entity Framework verwendet werden?
- 27. Wie zwei Tabellen verbinden und mit Entity Framework zählen Datensatz aus Datensatz erhalten
- 28. Repository Pattern Best Practices
- 29. Sollte ich ein generisches Repository mit Entity Framework 5 verwenden?
- 30. Wie können Sie mehrere Tabellen in einem DataSet verbinden? C#
Vielen Dank ... Sehr hilfreich. – user972255