問題タブ [entity-framework-extended]
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.
c# - EntityFramework.Extended で更新を実行すると、「無効な列名」エラーが発生する
一連のバッチ更新を行うためにEntityFramework.Extendedライブラリを使用しています。私が更新しているテーブルの重要な部分は次のようになります。
C# 更新コードは次のようになります。
これにより、次のような SQL 更新コードが生成されます。
C# コードを使用して更新を実行するか、生成された SQL を手動で実行すると、次のエラーが発生します。
問題は、生成された SQL にエラーがあることです。次のように書かれている部分に注意してください。
実際には次のようになります。
私の推測では、EntityFramework.Extended ライブラリに何らかのバグがあるということです。
回避策の提案はありますか?
entity-framework - Entity Framework Extended を使用した Entity Framework 6 のバッチ更新と AuditLog
私は Entity Framework 6 を使用しており、EntityFramework Extended を使用してバッチ更新とバッチ削除を実行しています。バッチ更新とバッチ削除は正常に機能しますが、更新/削除されたエンティティ (つまり、現在と以前の値) を知る必要もあります。EntityFramework.Extended が提供する AuditLogger を使用すると、更新または削除されたエンティティの詳細が得られると思いましたが、そうではないようです。たとえば、次のコードを使用すると、
これは、すべての addressId を に更新する単純なバッチ更新1190
です。を調べるchanges.Entities
と、Count 0、つまり空のリストが返されます。
私が期待していたchanges.Entities
のは、addressId が に変更される前に、古い値を持つすべての「古い」エンティティが含まれることでした1190
。
私は間違っていますか、それともこれは本当に正しい動作ですか? エンティティ フレームワーク拡張バッチ更新/削除を使用しているときに、更新されたすべてのエンティティの監査ログを取得するにはどうすればよいですか?
ありがとう
c# - 更新を使用して条件によって値を割り当てることができません
すべてのレコードを更新し、ID 一致条件に基づいてデフォルト フィールドを設定する linq 式を作成しようとしています。
しかし、その場合、エラーが発生します:
私は何が間違っているのですか?他の条件を試してみましたが、別のフィールドが条件に参加するまではうまくいくようです:
c# - EntityFramework.Extended とリレーション テーブルを使用した一括削除
ここに多対多の関係テーブルを持つテーブルがあります構成です
私が見る限り、これに利用できるカスケード削除オプションはありません。
削除コードはこちら
テーブルに制約があるため、制約エラーで失敗しますProductBatchDeleted
。最初にテーブルExtend
を削除する必要があることをライブラリが理解するように修正できますか?ProductBatchDeleted
c# - 値に基づいてエンティティ プロパティを更新する
実行時の値に基づいて更新するプロパティの 1 つを選択する必要があるシナリオがあります。
これを行うより良い方法はありますか?エンティティフレームワークで文字列を連結する方法はありますか?これを可能にする何か
c# - Entity Framework 拡張を使用したバッチ更新
これにより、実行時エラーが発生します。
クエリのタイプは ObjectQuery または DbQuery でなければなりません。\r\nパラメータ名: source
EF 6.0 と EF Extended 6.0 と .NET 4 を使用しています
そうしないとパフォーマンスが許容できないため、バッチ/一括更新を行う必要があります。
listOfIDs
タイプですList<string>
c# - EF Extended を使用して多対多に一括更新を追加しますか?
多対多の関係を持つオブジェクトのグループのプロパティに新しいアイテムを追加する必要がある状況があります。EntityFramework.Extended を使用して一括でこれを行う方法はありますか? 何かのようなもの...
明らかに、Update() の部分は正しくありません。とりあえず、セットを取得してループすることで回避しました。より良い方法があるかどうか疑問に思っています。
c# - EntityFramework.Extended FutureQueryを偽造する方法は?
偽のリポジトリをセットアップしようとしています。
これの目的は、データベース接続に依存せずに、データに依存するテストを作成することです。FutureValue<>
直接オブジェクトを受け入れるコンストラクターを提供するため、これは型にとって非常に簡単でした。ただし、コンストラクターFutureQuery<>
は引数を取りますIQueryable query, Action loadAction
無視してもloadAction
いいですか?
そのような:new FutureQuery<Foo>(foos.AsQueryable(), () => { });
または、これについての適切な方法は何ですか?
強制解決:
c# - エンティティ フレームワーク 6 を使用して 1 つのクエリでデータを集計する
ストアド プロシージャなしで EF 6 を使用します。
開始日/終了日から集計されたデータを示すレポート チャートを実行する:
そのデータのすべての集計は、次の日時フィルターを使用する必要があります。
1 つのクエリでデータ集計を行うことはできますか? それとも、複数のクエリを実行して最後に実行するのでしょうか? それとも、これは複雑になりすぎますか? 複数のリポジトリ呼び出しでデータ取得を分解し、サービスで数学を行う必要がありますか?
ここで誰かが私に良いアドバイスをしてくれたらうれしいです。
更新:
最後に、クエリをバッチ処理できる将来のクエリで拡張された EF を見つけました。
返す必要があるのは、6 つの異なる where クエリに対して 6 つのカウントです。
しかし、最小限の EF 拡張の将来のクエリ サンプルを見ると、1 つのクエリで 6 つのカウント値を取得する方法がわかりません。
誰でも知っていますか?