Z jakiegoś powodu Microsoft zdecydował się nie obsługiwać prostych konkatencji w wersji EF5.Najlepszy sposób łączenia łańcuchów i liczb w serwerze SQL za pomocą Entity Framework 5?
np.
Select(foo => new
{
someProp = "hello" + foo.id + "/" + foo.bar
}
Spowoduje to wyświetlenie, jeśli foo.id lub foo.bar są liczbami.
Obejście Znalazłem ten jest najwyraźniej dość peice kodu:
Select(foo => new
{
someProp = "hello" +
SqlFunctions.StringConvert((double?)foo.id).Trim() +
"/" +
SqlFunctions.StringConvert((double?)foo.bar).Trim()
}
Które działa dobrze, ale jest po prostu okropny patrzeć.
Czy jest jakiś przyzwoity sposób, aby osiągnąć ten cel przy użyciu czystszego kodu? Nie jestem zainteresowany wykonaniem tej strony klienta, więc nie proszę odpowiedzi .AsEnumerable().
jestem bardzo mylić, dlatego, że nie będzie działać ... jesteś pewny 'foo' nie jest' null'? –
To nie działa, ponieważ EF nie może przetłumaczyć liczby całkowitej.ToString() na SQL. –
Nie sądzę, że ma to związek z EF na tym etapie, o ile chodzi o to, że jest to obiekt z ciągiem 'someProp'. –