0

ここで、String.Concat の使用の失敗に関する多くの投稿を見てきました。EF のドキュメントによると、concat はサポートされていますが、次の 3 つのオーバーロードのみがサポートされています。

System.String Concat(String str0, String str1)
System.String Concat(String str0, String str1, String str2)
System.String Concat(String str0, String str1, String str2, String str03)

私が抱えている問題は、VB LINQ がデフォルトで

System.String Concat(ParamArray values As String()) 

デフォルトではオーバーロードされているため、エラーが発生します。VB の EF クエリ内で必要なオーバーロードを強制する方法はありますか? 私が使用するクエリは次のとおりです。

from x in table
group join y ...
.
.
select New With { .Text = String.Concat(SqlFunctions.Convert(x.ID), " - ", if (y is null, "", y.Name)) }

以下の選択を使用しても:

select New With { .Text = String.Concat(SqlFunctions.Convert(x.ID), " - ", "TEST NAME") }

引数のオーバーロードではなく、配列のオーバーロードを使用しているため、これも失敗します。それを機能させる方法はありますか?

4

1 に答える 1

2

名前付きパラメーターを使用してみることができます

select New With { .Text = String.Concat(str0:=SqlFunctions.Convert(x.ID), str1:=" - ", str2:="TEST NAME") }
于 2013-09-18T15:45:16.363 に答える