[解決済み] LINQ式におけるString.IsNullOrWhiteSpaceについて
2022-04-26 13:46:45
質問
次のようなコードがあります。
return this.ObjectContext.BranchCostDetails.Where(
b => b.TarrifId == tariffId && b.Diameter == diameter
|| (b.TarrifId==tariffId && !string.IsNullOrWhiteSpace(b.Diameter))
|| (!b.TarrifId.HasValue) && b.Diameter==diameter);
そして、そのコードを実行しようとすると、このようなエラーが発生します。
LINQ to Entitiesはメソッド'Boolean'を認識しません。 IsNullOrWhiteSpace(System.String)'メソッドで、このメソッドは使用できません。 はストア式に変換されます。
どうすればこの問題を解決して、これより良いコードを書くことができるでしょうか?
どのように解決するのか?
を置き換える必要があります。
!string.IsNullOrWhiteSpace(b.Diameter)
と
!(b.Diameter == null || b.Diameter.Trim() == string.Empty)
Linq to Entitiesの場合、これは次のように変換されます。
DECLARE @p0 VarChar(1000) = ''
...
WHERE NOT (([t0].[Diameter] IS NULL) OR (LTRIM(RTRIM([t0].[Diameter])) = @p0))
そして、Linq to SQLの場合は、ほとんど同じですが、全く同じではありません。
DECLARE @p0 NVarChar(1000) = ''
...
WHERE NOT (LTRIM(RTRIM([t0].[TypeName])) = @p0)
関連
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] 関数を終了するには?
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] LINQのGroup by
-
[解決済み] C#でメソッドをパラメータとして渡す
-
[解決済み】C++11のラムダ式って何?
-
[解決済み] [Solved] ASP.NET MVC 5 - Identity. 現在のApplicationUserを取得する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】URLから画像をダウンロードする方法
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。