ホームページ > バックエンド開発 > C++ > LINQ to Entities クエリで Int を String に変換するにはどうすればよいですか?

LINQ to Entities クエリで Int を String に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-25 18:26:10
オリジナル
752 人が閲覧しました

How to Convert Int to String in LINQ to Entities Queries?

LINQ to Entities クエリで整数を文字列に変換する: トラブルシューティングと解決策

LINQ to Entities クエリで整数を文字列に変換しようとすると、エラーが発生する場合があります。この問題は主に、暗黙的な型変換がサポートされていないことが原因です。

最初のコード スニペット:

<code class="language-csharp">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId, //无法将类型“int”(ContactId)隐式转换为类型“string”(Value)。
                Text = c.Name
            };</code>
ログイン後にコピー

コンパイラは、整数の ContactId を文字列の Value に暗黙的に変換できないため、エラーを発行します。

LINQ to Entities で ToString() を使用した整数から文字列への明示的な変換も失敗します:

<code class="language-csharp">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId.ToString(), //抛出异常:ToString 在 linq to entities 中不受支持。
                Text = c.Name
            };</code>
ログイン後にコピー

解決策:

この問題を解決するには、EF v4 の SqlFunctions.StringConvert 関数を使用します。ただし、整数にはオーバーロードがないため、最初に倍精度浮動小数点または 10 進数に変換できます。

<code class="language-csharp">var items = from c in contacts
            select new ListItem
            {
                Value = SqlFunctions.StringConvert((double)c.ContactId).Trim(),
                Text = c.Name
            };</code>
ログイン後にコピー

このメソッドは、整数の ContactId を文字列に正常に変換し、LINQ to Entities クエリを続行できるようにします。

以上がLINQ to Entities クエリで Int を String に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート