[解決済み] LINQ to Entities は 'System.String ToString()' メソッドを認識せず、このメソッドはストア式に変換できない。
2022-07-05 11:22:14
質問
私はあるものを1つのmysqlサーバーからsqlサーバーに移行していますが、私はこのコードを動作させる方法を見つけ出すことができません。
using (var context = new Context())
{
...
foreach (var item in collection)
{
IQueryable<entity> pages = from p in context.pages
where p.Serial == item.Key.ToString()
select p;
foreach (var page in pages)
{
DataManager.AddPageToDocument(page, item.Value);
}
}
Console.WriteLine("Done!");
Console.Read();
}
に入ると、2番目の
foreach (var page in pages)
に入ると、例外が発生します。
LINQ to Entities は、'System.String ToString()' メソッドを認識せず、このメソッドはストア式に変換できません。 式に変換することはできません。
なぜこのようなことが起こるのか、どなたかご存知ですか?
どのように解決するのですか?
文字列を一時変数に保存し、それを式の中で使用すればよいのです。
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
この問題が発生するのは
ToString()
が実際に実行されるのではなく
メソッドグループ
に変換され、パースされて SQL に変換されます。は存在しないので
ToString()
に相当するものがないため、式は失敗します。
注意してください。
次のページもご覧ください。
アレックスの回答
に関する
SqlFunctions
ヘルパークラスが追加されました。多くの場合、これによって一時的な変数が不要になることがあります。
関連
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み] C#のメソッドグループとは何ですか?
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。