問題タブ [defaultifempty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linq - LINQ to entities クエリが値を返さない場合、どのように既定値を返しますか
次のようなエンティティ式への LINQ では:
投票がないときにデフォルト値を取得するように、どのように DefaultIfEmpty 値を追加しますか?
linq - Linq、左結合、および日付
したがって、私の状況では、テーブルの1つで日付をnullにできないlinq-to-sqlモデルがあります。データベースではそのフィールドにnullが許可されていないため、これは意図されたものです。私の問題は、このモデルでLinqクエリを作成しようとすると、日付が「null許容」フィールドではなく、「Nothing」と比較できないため、そのテーブルで左結合を実行できなくなることです。
例:Movieテーブル{ID、MovieTitle}とShowingsテーブル{ID、MovieID、ShowingTime、Location}があります
今、私は上映されていないすべての映画を返すステートメントを書き込もうとしています。T.SQLでは、これは次のようになります。
この状況では、「場所」フィールドでNullをテストできますが、これは実際にはありません(単純化された例です)。私が持っているのはnull以外の日付だけです。
私はLinqで書き込もうとしています:
しかし、私は次のようにエラーが発生しています
'Is'演算子は、タイプ'Date'のオペランドを受け入れません。オペランドは、参照型またはnull許容型である必要があります。
これを回避する方法はありますか?モデルは正しいです。Showings:ShowTimeテーブルにnullがあってはなりません。しかし、左参加を行い、特定の映画の上映時間がない場合、ShowTimeはその映画には何もないはずです...
皆さんの助けに感謝します。
linq-to-entities - Defaultifemptyは、エンティティに対してlinqで機能するようです
私はlinqとlinqtoentityを初めて使用するため、仮定が間違っている可能性がありますが、L2EでDefaultIfEmptyを無意識のうちに使用しようとしています。
何らかの理由で、結果セットをリストに変換すると、Defaultifempty()が機能します。誤ってLinq領域にクロスオーバーしたかどうかはわかりません。以下のコードは機能しますが、誰かが理由を教えてもらえますか?そしてそれがうまく機能すれば、それは他の人々の助けになるでしょう。
c# - DefaultIfEmptyが機能しない
DefaultIfEmptyによってクエリされた後も配列がnullのままであるのはなぜですか?
entity-framework - Entity Framework結合null許容結合列
私の Devart Entity Framework プロバイダーは、次の linq をエンティティに使用します。
注: 結合列は DB では null 許容型であるため、10 進数ですか? C#で
生成される SQL は次のとおりです。
星印 (*) の OR と AND は、SQL の実行に余分な秒数を追加しています。ステートメントがヒキガエル(oracle devart ef provider btw)に配置され、スター付きのアイテムがrem'dされている場合、SQLは明らかにはるかに高速に実行されます。
私の質問は次のとおりです。エンティティへの私のlinqに問題がありますか、それとも何かが欠けていますか? それとも、Devart EF プロバイダーに問題がありますか?
質問の更新: こんにちは、この質問の最初の作成者として、可能であれば問題を明確にしたいと思います。LukLed のコメントから - 「デフォルトの Entity Framework プロバイダーは正しく機能し、そのような SQL 条件を作成しません。それは間違っているだけでなく、パフォーマンスを大幅に低下させます」. 私は主に「パフォーマンス ヒッター」のコメントが気になります。このヒットは、特に結合の両側で行数が増加するため、大規模です。ExecuteStoreQuery<> または Sproc を使用して、この動作を回避する必要がありました。これはlinqがないことを意味し、仕事を成し遂げるためにSQLハットをかぶる必要がありました。
properties - 他のプロパティからのデフォルトのメタ記述 (空の場合) - EPiServer
EPiServer 5 プロジェクトに取り組んでおり、ページ タイプのメタ記述プロパティに他のプロパティのデータを入力する必要があります。例: 本文の最初の文をメタディスクリプションとして使用します"
これは、エディターがメタ ディスクリプションを空のままにした場合に行う必要があります。この問題を解決する方法について何か助けはありますか?
どうもありがとう。
c# - LINQ to SQL結合のDefaultIfEmpty()により、重複が発生します
コード:
基本的に、委託品ごとに1つの行を選択し、PODのコレクションであるオブジェクト「POD」を選択します。これは機能しますが、PODごとに1つの行があります。したがって、委託品に3つのPODがある場合、その委託品に対して3つの行が返されます。PODを間違って選択していますか?DefaultIfEmpty()を削除すると、奇妙なことに正常に動作し、重複は発生しません。
linq - DataTableへのLINQのDefaultIfEmpty?
次のように、データテーブルから少なくとも1つの行をプルするように記述されたLINQクエリがあります。
次に、LINQクエリ出力の値を使用してクラスの新しいインスタンスのプロパティを設定しようとします。
私が遭遇している問題は、クエリに結果がない場合があることです。これにより、GeneralInformationTypeのさまざまな文字列の値をnullに設定しようとし、例外が発生します。DefaultIfEmptyのさまざまなメソッドを試しましたが、どこに配置すればよいかわかりません。
どんな助けでもいただければ幸いです。
ありがとう、ロブ
c# - Linq、OrderByDescending、First、および極悪な DefaultIfEmpty
うまくいけば、これは私が基本的なことを理解していないという単純な問題です. 以下は、私が取り組んでいるアプリケーションからの 2 つの Linq ステートメントです。
entities.Periods は、2 つの Period オブジェクトを含むセットで、それぞれにunique UID
.
私が理解しているすべてによると、 p1 と p2 は同じでなければなりません。
しかし、私の環境ではそうではありません。
p1 は正しいです (つまり、セット内で最大の UID を持つ Period オブジェクトと同じです)。
ただし、p2 は正しくありません (つまり、セット内の他の期間と同じです)。
何か案は?