問題タブ [entity-framework-5]
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.
razor - 同じ依存アセンブリの異なるバージョン間で競合が見つかりました.MVC3 -> MVC4 / EF4 -> EF5
問題は、MVC4 と EF5 にアップグレードされたプロジェクト内のアセンブリのバージョン間の競合を解決する方法です。
問題は、コントローラーとモデルに System.Data.Objects を含めることができるという事実で明らかですが、現在はビューです。
私は MVC 4 を使用しています。私のプロジェクトは MVC 3 からアップグレードされました。
Entity Framework はバージョン 5 です。
System.Data.Objects から objectcontext を使用できるコントローラーがあります。
私の使用法: System.Data.Objects を使用する; System.Data.Entity の使用;
ビュー フォーム System.Data.Objects に using を含めようとすると、次のようになります。
CS0234: 型または名前空間名 'Objects' が名前空間 'System.Data' に存在しません (アセンブリ参照がありませんか?)
私は.net 4.5をターゲットにしています
マイ ビルド 次のメッセージが表示されます: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1561,5): 警告 MSB3247: 同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
c# - Entity Framework 5 rcコード最初にテーブルを作成するスキーマを指定しますか?
EF 5 RCを使用して、Code Firstプロセスの使用中に作成されるスキーマテーブルを指定する適切な方法は何ですか?私が試してみました:
ただし、作成されたSQLスクリプトはスキーマを認識せず、すべてのテーブルをdboスキーマの下に作成します。
TIA
J
entity-framework - EntityFramework5とTelerikOpenAccessORM(具体的には)
新しいプロジェクトを開始していますが、ORMの選択についてアドバイスが必要です。このトピックは以前に取り上げられたことがあると思いますが、このトピックはEntity Framework 5(4ではない)またはTelerikOpenAccessORMのいずれかに固有のものです。
プロジェクトはWindowsAzureに常駐し、WindowsAzureSQLデータベースを使用します。4.5がAzureで稼働したら、.NET4.5に移行します。
私は現在、TelerikUltimateCollectionのサブスクライバーです。
知っている人はこのシナリオの長所/短所を持っていますか?現在、TelerikOpenAccessに少し傾いています。
ありがとう
entity-framework - .Net 4.5 が正しくインストールされていませんか?
.net 4.5 をダウンロードしてインストールしたところ、インストーラーが正常に実行され、インストールの成功メッセージがすべて表示され、マシンを再起動しましたが、何もありませんでした。
私の C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework には、現在 4.5 フォルダーがあるはずでしたが、ありません。また、Visual Studio で自分のプロジェクトを 4.5 に変更することもできません。ここでScott Hanselman のブログをフォローしましたが、同じ結果が得られません。
また、私のインターンの 1 人が今日同じことを行い、自分のマシンでまったく同じ結果を得ました。
最終的にやりたいことは、EF 5 を実行することだけです。そして、それを行うには4.5が必要だと思いました。
ありがとう!
entity-framework - Visual Studio 2010 の Db コンテキスト ジェネレーターのテンプレートがありません
Vs2010 Ultimate を持っています。その一部であるasp.net mvc 4とEF 5をインストールしました。
Visual Studio 2010 用の EF 5 用の db コンテキスト ジェネレーター テンプレートはありません。次のバージョンの RC 用のみです。
対 2012 のインストールが不足しています。私のオプションは何ですか?
membership-provider - .NET 4.5、EF5およびMembershipProvider
EF 5で使用するデフォルトのMembershipProvider(SqlMembershipProviderやActiveDirectoryMembershipProviderなど)が作成されるのか、それともカスタムのMembershipProvider(もちろん、Code First用)を作成する必要があるのかを誰かが知っていますか?
entity-framework - Model First による Entity Framework (.NET) ラウンドトリップ モデリング?
私は現在、Entity Framework を初めて使用するプロジェクトに取り組んでいます。Lerman/Miller の書籍、MSDN、ADO.NET ブログ、およびスタックオーバーフロー (ここ) で、DbContext API および EF 4.3 以降に利用可能な Code First Migrations 機能に関する最新の開発について多くの情報を読みました。特に後者は本当に素晴らしいので、とりあえず「モデルファースト」を中心に同じ作業ができないか考えてみました。コードとそこからデータベースを作成した後、ビジュアル EDMX デザイナー (コードではなく) に基づいて移行を行うことは可能ですか?
私はかなり最近のリンク (2012-04) を見つけました (EF 4.3 では) ではないということです: Using EF4 migration tool with model-first approach
次に、古いコードとデータベース テーブルを EDMX デザイナーから再生成しようとすると上書きされるという情報を見つけましたか?
しかし、私が参照している情報は Power Tools に関するものです: http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx
リバース エンジニアリング Code First このコマンドを使用すると、既存のデータベースに対して Code First マッピングを一度だけ生成できます。[..] • このコマンドを複数回実行すると、生成されたファイルに加えられた変更を含め、以前に生成されたファイルが上書きされます。
この制限は、Power Tools のリバース エンジニア コード ファーストにのみ固有のものですか?それとも、EDMX デザイナー全般、特に「モデル ファースト」アプローチにも適用されますか?
さらに、上記の記事で次のことを見つけました。
エンティティ データ モデルの表示 (読み取り専用) Entity Framework デザイナーで Code First モデルを表示します。• これはモデルの読み取り専用表現です。デザイナーを使用して Code First モデルを更新することはできません。
ここでも同じ質問が当てはまります。
現在、データ損失 (コードとデータベース) のない完全なラウンドトリップ モデリングを使用し、EDMX ファイルを書き込み可能に保ち、「モデル ファースト」に従って望ましい方法はありますか?
どのバージョンの EF からこれがサポートされているか (既に、または予定されている)、どのバージョンの .NET をターゲットにする必要がありますか (4.0 で十分ですか?)、これは Visual Studio 2010 Professional で動作しますか? これを実装する可能性のある日付の概算を教えていただけますか?
もちろん、これは素晴らしいことであり、大きなブレークスルーです。これがどれだけの作業になるかを大まかに想像することしかできないと思います. これまでの素晴らしい活動に感謝し、今後も引き続きご活躍いただきたいと思います。
entity-framework - Entity Framework での複数レコードの挿入順序
複数の子を持つエンティティを一度に追加しようとすると、EF が挿入を並べ替えるのに問題があります。それぞれの間に 1 対多の関係を持つ 3 レベルの構造があります ( Outer 1--* Item 1--* SubItem
)。アイテムとサブアイテムを含む新しいアウターを挿入しようとすると、サブアイテムを含むアイテムが最初に挿入されます。
サンプル コード (.NET 4.5、EF 5.0.0-rc):
リレーショナル制約を満たすために挿入を並べ替える必要があるかもしれないと述べているAlex James によるこの回答を認識していますが、それはここでは問題ではありません。彼の答えは、リストなどの順序を維持する構造ではアイテムの順序を追跡できないことにも言及しています。
私が知りたいのは、これらのインサートを注文する方法です。挿入したアイテムを PK 以外のフィールドでソートすることもできますが、PK 順序に頼ることができれば、はるかに効率的です。これを達成するために複数の SaveChanges 呼び出しを使用する必要はありません。
私は EF5 RC を使用していますが、他の未回答の質問から判断すると、これはしばらく前から存在しています。
ef-code-first - 1 回限りのエラーにより、その後のエンティティ フレームワークの使用が中断される
エンティティ フレームワークに問題があります。たとえば、次のようにします。
次に、それに依存する子エンティティをマップしたエンティティを削除しようとすると、エラーが発生するのは論理的です。(依存するデータベースに子がある場合、親を削除できません)。
その後、新しいコンテキスト インスタンスを使用して「ParentEntity.ChildEntities.ToList()」を実行すると、まだ問題があります。
回避策はアプリ プールを再起動することで、問題は解消されます。
Autofac を使用しており、コンテキストのライフサイクルが HttpRequest ごとに設定 (および確認) されているため、エラーは別の場所で持続します。これらのエラーを回避するために何ができるか考えていますか?
objectcontext は別の場所に永続的であり、子エンティティの状態を "EntityState.Deleted" として保存するため、後続の呼び出しでデータベースから受信した実際のデータと競合すると推測されます。
更新:スタックを詳しく調べると、内部コンテキストが遅延していることがわかります。
たぶん、LazyInternalContext を何らかの形で無効にしたらどうでしょうか。これはできますか?
entity-framework-migrations - キーが基本クラスにある場合、EF Migrations DropForeignKey が失敗する
EF 5.0.0-rc code-first クラス ライブラリのデータ モデルを更新しようとしています。Up() メソッドの最初のコマンドは
しかし、私は SqlException を取得しています: 'FK_dbo.ChileInventory_dbo.ChileProducts_LotInventoryItemTypeId_ChileProductId' は制約ではありません。制約を削除できませんでした。
エラーの原因は、私の ChileProducts クラスがその基本クラスから重要なプロパティを取得するためだと思います。プリンシパル列名を受け入れる DropForeignkey メソッドのオーバーロードがないため、EF は削除する正しい制約を決定できないと思います。また、例外メッセージに表示される制約名がデータベース内の制約名と一致しないことも指摘しておく必要があります (したがって、エラーが発生します...)
以下に、データ モデルと移行方法を示します。ただし、最初に、移行の背後にある変更の性質について簡単に説明します。InventoryBase クラスの各派生クラスは、InventoryTypeId と [InventoryTypeSpecific]ProductId の複合キーを介して製品タイプを定義します。たとえば、ChileInventory は、特定のチリ タイプ タイプを InventoryItemTypeId = [ChileInventoryTypeId] および ChileProductId = [ChileProductId] として識別します。PackagingInventory は、そのパッケージ タイプを InventoryItemTypeId = [PackagingInventoryTypeId] および PackagingProductId = [PackagingProductId] として識別します。等々。
私がロールアウトしようとしているモデルの変更は、[InventoryTypeSpecific]ProductId を各 InventoryBase 派生物からベースに昇格させることです。これにより、すべての InventoryBase 派生オブジェクトが共通の ProductId プロパティを共有し、InventoryItemTypeId と組み合わせて、InventoryBase から ProductBase へのナビゲーションが可能になります。これは前のモデルでは不可能です。
アドバイスとご検討ありがとうございます。--ヴィニー