問題タブ [entity-framework-4]
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# - 列をdbのIDENTITYにマップします
ID列にをマークしましたが.Identity()
、生成されたデータベーススキーマがtrueに設定されていないためIDENTITY
、レコードを追加するときに問題が発生します。(SQL Management Studioで)データベーススキーマを手動で編集してId
列にマークを付けるとIDENTITY
、すべてが希望どおりに機能します。EFにそれを単独で実行させることはできません。
これは私の完全なマッピングです:
EFを使用して統合テスト用のデータベースを構築および再構築しているので、これを自動的に実行する必要があります...
編集: うーん...コメントで、これを実行するのに十分なコードを提供するように要求されたので、コードをコンソールアプリにカットアンドペーストして(すべてのクラスが必要になるわけではありません...)、突然それを実行しましたちょうど働いた。どこにあるのかわからなかったのですが、どこかでメソッド呼び出しを忘れていたのではないでしょうか。
他の誰かが探しに来た場合に備えて、この投稿への回答で実用的なソリューションコードを投稿します。
c# - EF4 コードのみのマッピングを確認するにはどうすればよいですか?
NHibernateには、次のような方法がありますThisOrThat.VeryfyMappings()
(最後にNHibernateを試したのは少し前だったので、正確な定義はわかりません...)
Entity Framework 4 で同様のテストを行う方法を作成者が示したブログ記事をどこかで見たのを思い出しましたが、今は見つかりません。では、EF4 コードのみのマッピングをテストするにはどうすればよいでしょうか。
entity-framework - Entity Framework 4 の一意のキー
既存の DB スキーマには、一意の非プライマリ キーと、それらに依存するいくつかの外部キーがあります。
Entity Framework v4で、主キーではない一意のキーを定義することはできますか? どのように?
entity-framework-4 - Entity Framework 4 Web サイトのアーキテクチャ
こんにちは、Entity Framework 4 を使用して N-Teir Web サイトを作成するタスクを与えられましたが、私の知る限り、いくつかのレンガの壁に直面しています。
これまでの私の計画は、これらのレイヤーを持つことでした
Web サイト (アプリケーション層)、
Name.Framework (BLL)、
Name.Data (DAL)、
Name.Entities (Web サイト/bll で使用される POCO クラスおよびその他の構造体クラスを含む)、
Name.Common (ユーティリティ クラス)
リポジトリ クラスを使用しようとしましたが、思ったように機能させるのに苦労しています。以下は、私が行き詰まっているもののいくつかの例です。
.include() を使用したい場合、これは私のリポジトリにあるのでしょうか、それともビジネス層の責任ですか? (そして、これがBLLでどのように機能するかわかりません)
.Order() についても同じ質問ですか? 私が理解したように、これはリポジトリにある必要があるか、少なくとも何らかの方法でリポジトリに渡される必要があります?!?
BLL を使用してコンテキストをリポジトリ/データ層に渡す必要がありますか? データレイヤーからエンティティを取得した時点で、レポで参照されていないナビゲーションプロパティは「オブジェクトコンテキストが破棄されました」で戻ってきますが、ビジネスレイヤーはコンテキストなどを保持して、これが起こらないようにする必要がありますか?
または、このヘルプを要約すると!!!
明日までに何らかの順序でこれを用意する必要があります (eek!) プロジェクト リーダーは、Entity Framework を続行するか、社内で NHibernate に移行するかを知りたがっています。
助けや提案をありがとう マット
visual-studio-2008 - EF 4.0 および Visual Studio 2008
.NET Framework 4.0 でリリースされた EF4.0 を VS2008 で使用できますか?
entity-framework-4 - Visual Studio 2010 用のカスタム DDL テンプレート
Entity Framework 4.0 用の優れたコミュニティ分散カスタム DDL テンプレートを誰かが知っているかどうか疑問に思っていました。SQL10 へのデフォルトの DDL は十分に機能しますが、提供されていない命名規則をカスタマイズすることを検討しています。
私は実際にこれを行っている人々の多くのサンプルを見つけていないので、誰かが私が見落としているリソースを知っていることを望んでいました (おそらく私はそれを間違って探しているか、プロセス全体がどのように機能するかを誤解しています)
具体的には、リレーションシップからフィールドを書き出す方法を変更したいと考えています。たとえば、デフォルトのテンプレートは..
tablename_propertyendpoint_propertyname.
これを私たちの命名スキームにもう少し調整したいと考えています。そして、.tt ファイルのどこでこの正確な動作を行っているかを完全に理解できる人は誰もいません。
私が解決しようとしているより具体的な問題の 1 つは、データベース内のプロパティ名を追加および変更する方法です。例えば..
これが私のオブジェクト構造であると仮定すると...上記のようになります。しかし、データベースジェネレーターはこのように表現します..
さて、これは実際には何も「傷つける」ものではないことに気づきました。しかし、一貫性は私にとって重要であり、これは、このすべてのコードがどのように生成されるかを「学ぶ」のに適した場所です。私は基本的に、自分のフィールドの名前を変更しないように設計したいと考えています。
.net-4.0 - 複数のデータコンテキストにわたってPOCO動的プロキシを使用してEntityFramework4.0の変更を追跡する
POCOの可能性に興味があるので、EF 4.0をいじり始めました...切断されたWeb環境をシミュレートしたいと思い、これをシミュレートするために次のコードを記述しました。
- テストオブジェクトをデータベースに保存します。
- テストオブジェクトを取得します
- 取得に使用したテストオブジェクトに関連付けられたDataContextを破棄します
- テストオブジェクトを更新します
- 新しいデータコンテキストを作成し、POCOオブジェクトに対して生成されたDynamicProxy内で自動的に追跡されるテストオブジェクトの変更を永続化します。
問題は、上記のTestメソッドでdataContext.SaveChangesを呼び出すと、更新が適用されないことです。testStoreエンティティは、EntityStateTrackerを確認すると「変更済み」のステータスを示しますが、新しいdataContextのStoresプロパティ内で表示すると変更されなくなりました。新しいdataContextでAttachメソッドを呼び出すと、オブジェクトの「変更済み」状態も回復すると思いましたが、そうではないようです。足りないものはありますか?私は間違いなくDynamicProxiesを使用して自己追跡POCOを使用しています。
c# - EF4POCOクラスを初めて生成する
私が抱えている問題は、POCOテンプレートを使用して、POCOクラスを初めて生成するだけで、テンプレートが再実行されたときにそれらを上書きしないことです。これはおかしなことに聞こえますが、その理由は、実際にこれらのテンプレートを変更して、実際のPOCOクラスではなくメタデータクラスを生成しようとしているためですが、これらのメタデータクラスは手動で編集されるため、今後も編集を続けたいと思います。それでも一定量を再生します。ファイルの再生成を除いて、すべてが希望どおりに機能しています。
T4を調べたところ、これを行うためのフラグがあるようです(Output.PreserveExistingFileプロパティを参照)が、このフラグをどこに/どのように設定するかがわかりません。デフォルトのPOCOテンプレートでこれをどこに/どのように設定するかを教えていただければ、本当に必要なのはそれだけだと思います。
ありがとう!!:-)
entity-framework-4 - IObjectSet に CompiledQuery の拡張メソッド エラーが含まれる
カスタム ObjectContext クラスでは、エンティティ コレクションを IObjectSet として公開しているため、単体テストを実行できます。コンパイルされたクエリでこの ObjectContext を使用し、"Include" 拡張メソッドを呼び出すと、問題が発生しました (Julie Lerman のブログhttp://thedatafarm.com/blog/data-access/agile-entity-framework-4-から)リポジトリ-part-5-iobjectset/ ):
LINQ to Entities はメソッド 'System.Linq.IQueryable 1[MyPocoObject] Include[MyIncludedPocoObject](System.Linq.IQueryable
1[MyPocoObject], System.String)' メソッドを認識せず、このメソッドはストア式に変換できません。
IObjectSet ではなく ObjectSet コレクションでこの同じクエリを使用すると、正常に動作します。プリコンパイルせずにこのクエリを実行すると、正常に動作します。ここで何が欠けていますか?
entity-framework - EntityFramework4と複数のデータベース
何かが変更されましたか、それともまだこれをサポートしていませんか?たとえば、database1.dbo.Usersとdatabase2.dbo.Addressesに参加します