Linq to Entities erkennt keine Zeichenfolge. Format oder Verkettung '+'
Ich habe folgenden Code:
using (DBContext context = new DBContext())
{
myCollection = context.Items.Where(i => i.Type == 1).OrderBy(k => k.Name).Select(w => new
{
Alias = w.Name + string.Format("{0}", w.Id),
Name = w.Name
}).ToArray();
}
Zur Laufzeit erhalte ich eine Fehlermeldung, wenn ich versuche, die Zeichenfolgen zu verketten und die Konversion einer Ganzzahl mit der ID in eine Zeichenfolge zu versuchen.
Fehler sagt:
Linq to Entities erkennt die Methode string.Format nicht
Auch Plus-Verkettungszeichen '+' wird nicht unterstützt.
Ich habe dies durch die Einführung von AsEnumerable gelöst:
using (DBContext context = new DBContext())
{
myCollection = context.Items.AsEnumerable().Where(i => i.Type == 1).OrderBy(k => k.Name).Select(w => new
{
Alias = w.Name + string.Format("{0}", w.Id),
Name = w.Name
}).ToArray();
}
aber ich würde gerne wissen, ob dies die beste lösung ist oder ob es eine andere möglichkeit gibt, dies zu tun. Ideen?