問題タブ [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.

0 投票する
1 に答える
4047 参照

c#-4.0 - EntityFramework.Extended を使用したバッチ更新

Entity Framework extended を使用してバッチ更新を使用しようとしていますが、これを行う方法がわかりません。

これまでのところ、これは私が持っている次のコードです:

上記のクエリでは、1000 個の注文リストが返されます。

だから私が達成しようとしているのは、上記のlistIdsのOrderListIDでcustListIDを更新することです

今、拡張された Entity Framework を使用しようとしています。

これを達成する方法を教えてください。

0 投票する
1 に答える
1247 参照

entity-framework - 拡張エンティティ フレームワークが DynamicProxy 例外をスローする

EntityFramework.Extended を使用して一括更新を実行しようとすると、2 つの例外のうちの 1 つが発生します。

私が試し たを見ると:

次の例外が発生しました。

「EntityFramework.Reflection.DynamicProxy」には「InternalQuery」の定義が含まれていません

...

System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute1(System.Runtime.CompilerServices.CallSite サイト、オブジェクト arg0) + 0x153 バイト

EntityFramework.Extended.dll!EntityFramework.Extensions.ObjectQueryExtensions.ToObjectQuery(System.Linq.IQueryable クエリ) + 0x2db バイト

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable ソース、System.Linq.Expressions.Expression> updateExpression) + 0xe9 バイト

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable ソース、System.Linq.Expressions.Expression> updateExpression) + 0xe9 バイト

githubの問題に基づいて、試しました:

その結果、例外が発生します (おそらく、ここで報告されたものと同じエラー)

「EntityFramework.Reflection.DynamicProxy」には「EnsureMetadata」の定義が含まれていません

...

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.FindMappingFragment(System.Collections.Generic.IEnumerable itemCollection, System.Data.Entity.Core.Metadata.Edm.EntitySet entitySet) + 0xc1e バイト

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.CreateEntityMap(System.Data.Entity.Core.Objects.ObjectQuery クエリ) + 0x401 バイト

EntityFramework.Extended.dll!EntityFramework.Mapping.ReflectionMappingProvider.GetEntityMap(System.Data.Entity.Core.Objects.ObjectQuery クエリ) + 0x58 バイト

EntityFramework.Extended.dll!EntityFramework.Mapping.MappingResolver.GetEntityMap(System.Data.Entity.Core.Objects.ObjectQuery クエリ) + 0x9f バイト

EntityFramework.Extended.dll!EntityFramework.Extensions.BatchExtensions.Update(System.Linq.IQueryable ソース、System.Linq.Expressions.Expression> updateExpression) + 0x1c8 バイト

EF5 の最新バージョンを試し、最新バージョンが機能するかどうかを確認するために EF6 にアップグレードしましたが、同じ問題が発生します。Code First を使用します。

EntityFramework.Extensions コードがどのように機能するかを理解しようとしています。しかし、私たちのセットアップには理想的ではないストアド プロシージャまたは SQL の使用にフォールバックする必要があるかどうか疑問に思っています。

これらの問題が何であるかを知っている人はいますか?

0 投票する
2 に答える
1141 参照

linq - Entity Framework Extended - 単純な削除で null 参照が返される

Entity Framework Extended ソース コードを nuget から取得しました。その削除式を使用して、ID を使用して複数のデータ行を削除したいと考えています。

私のコードでは、PersonID を使用して ClaimsID を取得しています。2 つのテーブルの ClaimsID は FK であり、最後に削除したテーブルは PK です。キー制約の関係でこの順番でやっています。

何らかの理由で、null 参照が返されます。

この行でコードが壊れます

このコードに注釈を付けようとしましたが、削除を試みるたびに壊れます。

スタックトレース

多くのコードではないので、null 参照の目的がわかりません。データの行は、3 つのテーブルすべてに存在します。

0 投票する
0 に答える
710 参照

entity-framework - EntityFramework Extended を使用して更新する

オブジェクトのリストがあります。この場合、辞書としましょう。そのリストのすべての項目を更新して新しい値を割り当てたいのですが、実行すると次のようになります。

考え?

エラーメッセージ:

ExecuteReader では、コマンドに割り当てられた接続が保留中のローカル トランザクションにある場合、コマンドにトランザクションが必要です。コマンドのトランザクション プロパティが初期化されていません。

コード:

EF Extended Githum の例は非常によく似ているため、どこが間違っているのかわかりません。例(ここから):

0 投票する
2 に答える
995 参照

c# - EntityFramework.Extended Future エラー (JIT コンパイラの内部制限)

私は Code First EntityFramework ( version="6.1.0") と EntityFramework.Extended (version="6.1.0.96, the latest build at the moment from here .は次
のようにアクセスされるものをDbContext公開します:DbSets

今日、私は EntityFramework.Extended ライブラリのFuture Queriesを試してみることにしました。

サンプルコードは次のとおりです。

ドキュメントに関してはFuture()、メソッドが提供するDBへのクエリを1つだけ取得する必要がありFuture()ます。クエリはで起動する必要がありますがu.ToList();、次のようなエラーが発生します。

JIT コンパイラで内部制限が発生しました。

スタック トレース ダイブは、次のことを示しています。

EntityFramework.Future.FutureQueryBase 1.GetResult() で

EntityFramework.Future.FutureQuery 1.GetEnumerator() で

System.Collections.Generic.List 1..ctor (IEnumerable 1 コレクション) で

System.Linq.Enumerable.ToList[TSource] (IEnumerable 1 ソース) で

c:\Users\...\App\Program.cs:line 25 の App.Program.Main(String[] args) で

何が欠けているのか本当にわかりません。ConnectionStringがにMultipleResultSets設定されていることを確認しましたTRUE
の以前のビルド リリースでこれをテストしEF.Extenededましたが、同じエラーが発生しました。

どんなアイデアでも大いに役立ちます。

0 投票する
1 に答える
1115 参照

c# - DBSet.Where(...).Delete() -> 真ではない「一致する要素がありません」

私はEF.ExtendedでEF 6.1を使用しており、次のことを実行しようとしています:

allRevisionsDbSet<Revision>私の現在のものですDbContext(このコードは一般的なヘルパーメソッドの中にあります)。
これを実行すると、次の例外が発生します。

シーケンスに一致する要素が含まれていません。

一致するリビジョンがあり、これAnyも真であるため、これは正しくありません。
さらに、次を実行すると正常に動作します。

しかし、これはまさに EF.Extended で回避できるはずの方法です。

私は何か間違ったことをしていますか、それともこれは EF.Extended のバグですか?

PS:これAnyは無意味であることはわかっています。最初にエラーが発生した後に削除するリビジョンがあることを確認するために追加しました。私の開発マシンでは誰もDBにアクセスしていないため、競合状態もありません。
Better to materialize the query then check if it has items and delete those you need to delete all in memory.=>しかし、それはまさに私が避けたいことです(そしてEF.Extenedが適していること)。何かが変更されたかどうかは実際には気にしません-DBのようDELETE from Revisions WHERE Item_Id = @Id;にクエリを実行するだけだと思います。

更新:
問題を再現するために小さなデモ プロジェクトを作成しました: HERE
継承に関連しているようです。で同じことを試してみるとContentRevision動作しますがMyRevision、それを継承する では動作しません。