問題タブ [entity-sql]
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.
frameworks - エンティティ フレームワーク 4 および ESQL を使用しない
EF4 をいじってみると、DB にクエリを実行する方法がいくつかあることに気付きました。
現在、テーブル/オブジェクトを作成して .EDMX を作成しました。
メソッドを使用するときのコードWhere
では、最初のパラメーターである ESQL に文字列を渡す必要があると思います。私が使いたいのはラムダ式です。すべてのチュートリアルはこれを示していますが、何らかの理由で私がセットアップした方法ではありません。
entity-framework - ObjectQuery ESQL をオーバーライドして EF 結果セットを永続的に制限する
EntityFramework の結果セットを永久に制限する方法を知っている人はいますか? このConditional Mappingのようなものについて話しています。これはまさに私が達成したいことですが、1 つの例外があります。これをプログラムで実行したいのです。これは、コンテキストの作成時にのみ条件値が EF に渡されるためです。また、この列がマッピングから消えないようにしたくありません。
私はEF2.0とリフレクションでこれを達成する方法を知っています。CreateQuery()
メソッドを使用して独自のObjectQuery
. CreateQuery()
追加の条件を使用して独自の ESQL クエリを挿入できますWHERE TABLE.ClientID == value
。
EF40の問題点は、これ以上ないということObjectQuery
だけObjectSet
で、CreateQuery()
使用されていません。独自の ESQL クエリを挿入する方法がわかりません。
結果セットを制限したい理由は、クライアント データを互いに分離したいからです。.Where(x => x.ClientID == 5)
この分離は、プログラマーが個々のクエリに条件を追加する必要がないように、コンテキスト内で自動的に行う必要があります。
私のアプローチは完全に悪いのかもしれませんが、他に方法がありません。
sql - Entity SQL はどのような状況で使用する必要がありますか?
ESQL を使用する方が賢明な状況があるかどうか疑問に思っていましたか?
一般的に、私は ESQL をイライラさせます (特に、エンティティ タイプを完全に修飾する必要があるすべての特殊なケースで)。おそらく、ESQL を使用して行うことはすべて、SQL または LINQ を介して行うことができます。
しかし、ESQL がソリューションに適しているか、SQL や LINQ を使用するよりも競争力がある (コーディングが簡単/高速である、またはパフォーマンスが優れているなど) 状況について疑問に思っていました。
それで、ここでの妥協点は何ですか?EF4 を介したクエリで 3 つのアプローチのそれぞれを使用する方が良いのはいつですか?
.net - nullObjectParameterパラメーターを渡すEntityFramework4.0エンティティSQL
エンティティSQLクエリがあります:
次のようにクエリを実行できます。
ただし、「name」変数がnullの場合、System.ArgumentNullExceptionが発生します。そのため、名前がnullの場合もDBNull.Valueを使用しようとしましたが、次の例外が発生します。
System.ArgumentOutOfRangeExceptionがキャッチされました
Message=指定されたパラメータータイプ'System.DBNull'は無効です。System.Int32、System.Decimal、System.DateTime、System.Guidなどのスカラー型のみがサポートされています。
null値も可能なパラメータ値であるパラメータ化されたクエリが欲しいです。エンティティSQLでこれを実現するにはどうすればよいですか?
.net - Entity Framework 4.0:エンティティSQLCAST操作が機能しない
整数をテキストとして含むテキスト列をInt32にキャストするクエリを作成しようとしています。クエリは次のとおりです。
ただし、次のメッセージを含むSystem.Data.EntitySqlExceptionが発生します。
タイプ「Edm.Int32」が見つかりませんでした。必要なスキーマがロードされ、名前空間が正しくインポートされていることを確認してください。タイプ名の近く、1行目、75列目。
MSDNによると、Edm.Int32は有効なタイプである必要があります。
誰かが何が悪いのか知っていますか?
編集:
いくつかの試行錯誤の結果、次のことが機能することがわかりました。
MSDNの例は間違っていますか?ここで何かが足りないような気がします...
entity-framework - Entity SQL 日時構文エラー
ここで私の構文の何が問題なのか誰でも知っていますか? 動的 eSQL クエリを作成していますが、DateTime データ型の where 条件を作成しようとするとエラーが発生します。これはエラーです:
クエリ構文が無効です。期近'2011'、1 行目、135 列目。
私のエンティティの DateTime 型が実際に null 許容の DateTime であることが重要な場合は?
しかし、私が読んだすべてのものから、これは正しい構文だと思いました。
コードは次のとおりです。
EntityFilter の場所:
そして、私は次のような動的クエリを作成しています:
entity-framework - Entity Framework での ESQL
エンティティ フレームワークでの ESQL に関する適切で、可能であれば網羅的なドキュメントはありますか?
select
メソッドを使用してプロパティを変更してエンティティ オブジェクトを作成しようとしています。このようなもの :
c# - EntityFramework および ESQL で子プロパティに基づいて親から選択する方法
Entity Framework に親子テーブルがあり、子の主キーに基づいて親から行を選択する必要があります。
私はこれらのコードを書きます:
しかし、Linq2Entity は「Contains」をサポートしていないことがわかりました。「MultiSet」と ESQL コマンドを使用する必要があります。しかし、これを行うためのサンプルを見つけることができます。
次のように ESQL を記述しますが、機能しません。
誰でも私を助けることができますか?
c# - Linq-to-Entities によって生成された Entity SQL の表示
Linq-to-entities クエリが EF フレームワークで生成している Entity Sql (eSQL) を表示する方法はありますか (つまり、ネイティブ SQL ではなく、意味がある場合は eSQL ですか?)
ありがとう!
sql - BeginWith操作はESQLでどのように機能しますか?
ESQL構文でBeginWithSQL操作をどのように実行しますか?