bibi1911 - Fr 20.03.09 08:37
Titel: [Entity Framework] Problem: Linq Abfrage mit short und Zugri
Hallo,
ich verwende das neue Entity Framework.
Mit diesem habe ich für zwei verschiedene DBs (und daraus bestimmte Tabellen)Entitäten erstellt.
Jetzt habe ich folgende Linq Anweisung geschrieben:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var geo = new List<me_geo>(medien.me_geo);
var query = (from w in archiv.wa_archiv_treffer join g in geo on wa.kartentyp equals g.kartentyp select new Archiv {archivID = w.archiv_id, auflage = w.auflage, geoCode =w.geo_code}); |
kartentyp ist vom Typ short.
Ich bekomme beim Ausführen leider immer diese Exception:
{"Es kann kein konstanter Wert des Typs 'System.Collections.Generic.IEnumerable`1' erstellt werden. In diesem Kontext werden nur primitive Typen ('wie z. B. 'Int32', 'String' und 'Guid'') unterstützt."}.
Kann man keine short verwenden??
Ich benötige leider öfter where und join die auf elemente vom typ short zugreifen.
Es muss doch irgendwie eine Möglichkeit geben?!
Danke schon mal!
Moderiert von
Kha: Code- durch C#-Tags ersetzt
Kha - Fr 20.03.09 13:11
:welcome:
In der Fehlermeldung steht doch überhaupt nichts von short ;) ? EF kann deine geo-Liste unmöglich in SQL übersetzen, weil es so etwas wie ein Array in SQL einfach nicht gibt. Du musst also wohl oder übel für jedes Element in der Liste eine einzelne Query abfeuern.
Ich arbeite nicht mit dem EF, aber es könnte etwa so aussehen:
C#-Quelltext
1: 2: 3: 4:
| from g in geo from w in archiv.wa_archiv_treffer where w.kartentyp == g.kartentyp select new Archiv {archivID = w.archiv_id, auflage = w.auflage, geoCode =w.geo_code}; |