Ik probeer een zinnige linq expressie te bouwen voor het volgende probleem.
Je hebt een tabel X, en een tabel XLocale, waarbij XLocale de velden bevat die in meerdere talen beschikbaar zijn.
Nu wil ik een anonymous object maken die deze twee tabellen samen trekt in een entiteit, waarbij de vertaalde velden van een bepaalde taal moeten worden gekozen, maar mochten die niet bestaan, dan mag een willekeurige andere vertaling gekozen worden.
Ik heb nu de volgende expressie, alleen deze gaat natuurlijk keihard op zn gat als er geen nederlandse vertaling is.
DE O/R mapper die ik gebruik voor de DB access is LLBLGen, alhoewel dat in principe niet van belang zou moeten zijn. Weet iemand een zinnige manier om de expressie te herformuleren zodat hij bij afwezigheid van de nederlandse vertaling een ander kiest? Of is het beter om voor een database view oid te gaan hiervoor?
Je hebt een tabel X, en een tabel XLocale, waarbij XLocale de velden bevat die in meerdere talen beschikbaar zijn.
Nu wil ik een anonymous object maken die deze twee tabellen samen trekt in een entiteit, waarbij de vertaalde velden van een bepaalde taal moeten worden gekozen, maar mochten die niet bestaan, dan mag een willekeurige andere vertaling gekozen worden.
Ik heb nu de volgende expressie, alleen deze gaat natuurlijk keihard op zn gat als er geen nederlandse vertaling is.
C#:
1
2
3
4
5
| var xs = from x in X select new { x.A, x.B, x.C, Name = x.XLocale.Where(xloc => xloc.Language == "nl-NL").Single().Name; |
DE O/R mapper die ik gebruik voor de DB access is LLBLGen, alhoewel dat in principe niet van belang zou moeten zijn. Weet iemand een zinnige manier om de expressie te herformuleren zodat hij bij afwezigheid van de nederlandse vertaling een ander kiest? Of is het beter om voor een database view oid te gaan hiervoor?
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info