Aus irgendeinem Grund hat Microsoft beschlossen, einfache Concat in EF5 nicht zu unterstützen.Die beste Möglichkeit, Strings und Zahlen in SQL Server mit Entity Framework 5 zu erstellen?
z.B.
Select(foo => new
{
someProp = "hello" + foo.id + "/" + foo.bar
}
Dies wird ausgelöst, wenn foo.id oder foo.bar Zahlen sind.
Die Abhilfe, die ich gefunden habe, ist dies offenbar ziemlich peice Code:
Select(foo => new
{
someProp = "hello" +
SqlFunctions.StringConvert((double?)foo.id).Trim() +
"/" +
SqlFunctions.StringConvert((double?)foo.bar).Trim()
}
der gut arbeitet, aber nur schrecklich zu sehen.
Also, gibt es einen anständigen Weg, dies mit sauberer Code zu erreichen? Ich bin nicht daran interessiert, diese Client-Seite zu tun, also keine .AsEnumerable() Antworten bitte.
ich sehr verwirrt bin, warum das nicht funktionieren würde ... sind Sie sicher, 'foo' ist nicht 'null'? –
Es funktioniert nicht, weil EF integer.ToString() nicht in SQL übersetzen kann. –
Ich glaube nicht, dass es in diesem Stadium etwas mit EF zu tun hat, soweit es darum geht, dass es nur ein Objekt mit einer Zeichenkette 'someProp' ist. –