0
I ont quatre tableaux:ADO.NET Entity Framework: relations QUERY n-n
- Client PK ClientID.
- Destination avec PK ID de destination.
- Langue avec PK LanguageID.
- DestinationDetail avec PK ID de destination.
- RL-Client-Destination avec PK ClientID et ID de destination.
Le client peut avoir zéro ou n destinations. Une destination a n DestinationDetails, chacun de ces DestinationDetail a une langue.
Ok. J'ai besoin de récupérer tous les DestinationDetails pour un client donné et une langue donnée.
j'ai écrit cela (je ne Kown si cela fonctionne), mais peut-être il y a une meilleure façon:
ObjectQuery clientQuery =
guiaContext.Client.Where("it.email = @email",
new ObjectParameter("email", "[email protected]"));
Client client = clientQuery.First();
client.Destination.Load();
EntityCollection destinations = client.Destination;
ObjectQuery languageQuery =
guiaContext.Language.Where("it.ds_language = @languageDS",
new ObjectParameter("languageDS", "en-US"));
Language language = languageQuery.First();
foreach (Destination dest in destinations)
{
dest.DestinationDetail.Load();
EntityCollection details = dest.DestinationDetail;
foreach (DestinationDetail detail in details)
{
detail.Language = language;
Console.WriteLine("Destination: " + detail.ds_destinationName);
}
}
J'apprends ADO.NET Entity Framework.
Merci!