問題タブ [entity-model]
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.
entity-framework - エンティティ モデルの「リレーショナル」テーブルにエントリを追加しますか? それ、どうやったら出来るの?
ですから話はとても単純です。
Products と呼ばれる 1 つのテーブルと別の呼ばれるカテゴリがあります。さらに、カテゴリと対応する製品の関係を保持する ProductCategories という別のテーブルがあります (つまり、テーブルには ProductId と ColumnId の 2 つの列があります)。
何らかの理由で、これらすべてのテーブルをエンティティ モデルに追加した後、「アクセス」を持っていないため、myentityModel.ProductCategories を実行できるため、これら 2 つのテーブル間の関係アイテムを作成できます。
そして、そうです、ProductCategores テーブルが "Association" としてエンティティ モデルに追加されます。私は本当にそれを理解していません。
編集:
新しい「Product」の作成の一環として、「Category」の EntityCollection を渡すことができることがわかりました。そのため、エンティティ モデルからクエリを実行して、ユーザーが (Web ページで) 選択した一致するカテゴリのリストを取得します。たとえば、(モデルをクエリした後)「Category」のオブジェクトセットを取得します。ただし、次の 2 つの問題が発生しました。
「AddObject」は EntityCollection のみを受け入れるため、セットを再作成し、ObjectSet からすべてのオブジェクトを entityCollection に追加する必要があります。このプロセスでは、以前のモデルから切り離して新しいコレクションに追加する必要があります。そうでない場合は、例外が発生します。
SaveChanges を実行すると、新しい ProductCategory を追加するのではなく、実際に新しいカテゴリを作成しようとしているという例外が発生することがわかりました。繰り返しますが、ここで何か不足していますか?
ありがとう。
c# - WCF サービスがエンティティ モデルを使用しないのはなぜですか?
WCF サービスと Entity Model を一緒に使用すると問題が発生しました。既存のデータベースからエンティティ モデルを作成しました。これは以下に示すことができます。
「Entity Object Code Generator」からのコンソール アプリケーションでクラスを使用しても問題はありません。
次に、以下のインターフェイスで WCF サービスを作成しました。
ただし、これらのメソッドをサービス クラスに実装してクライアント アプリケーションを実行すると、次のようなエラーが発生しました。
どうすればこの問題を解決できますか?
よろしく、ケマル
visual-studio-2010 - VS2010 で .edmx ファイルのエンティティ デザイナーが機能しない
.edmx ファイルがあり、デザイナーで開くことができません。プレーンな XML ファイルとして開くだけです。その上で「カスタムツールを実行」しようとすると、次のように表示されます。
カスタム ツール 'EntityModelCodeGenerator' が失敗しました。ファイルまたはアセンブリ 'Microsoft.Data.Tools.VSXmlDesignerBase, Version=10.0.0.0, ...' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
実際、私のシステムにはこのファイルがありません。それを自分のマシンにコピーしようとしましたが、次のようになります:
エンティティ データ モデル ツール パッケージの読み込み中にエラーが発生しました。
VS2010 SP1 Professional をインストールしました。
VS と SP1 を修復して再インストールし、いくつかのエンティティ パッケージ/パッチをインストールしようとしましたが (正確な名前は覚えていません)、役に立ちませんでした。他に何を試すことができますか?
asp.net - 接続文字列を動的に変更中にエラーが発生しました
エンティティの接続文字列を変更すると、この問題が発生します。
コードは次のとおりです。
接続文字列を変更しようとすると、InvalidOperationEsception が返されます。
エラーの詳細: 接続を開くか、MetadataWorkspace を使用して接続を構築することによってメタデータが登録された後は、接続を変更することはできません。
どんな助けでも私を無言のままにします....
asp.net-mvc-3 - 概念モデル タイプが見つかりませんでした
MVC3 プロジェクト A と B 内に 2 つのエンティティ データ モデルがあります。
最近、いくつかの新しい機能に対処するために新しいエンティティ データ モデル B を追加しました。問題は、既存のコードが機能しなくなり、エンティティ モデル A 内のコードにアクセスしようとすると次のエラーが発生することです。
エラーメッセージは次のとおりです。
概念モデル タイプ 'project.models.Bclass' が見つかりませんでした
エンティティ モデル A がまったく変更されていないため、この新しい機能が現在のコードに影響を与えた理由がわかりません。また、機能 B は別のクラスにあり、モデル A に干渉しません。
新しいコードがプロジェクトから削除され、エンティティ モデル B が除外されると、コードは正常に機能します。
エラーのスタック トレースの一部を次に示します。
dll - EntityDataSource の使用時に指定されたメタデータ ソースを読み込めません - Entity Framework
私の MyModel.edmx はアセンブリ DataAccess.dll にあります。このアセンブリは、私の Web プロジェクト (C#) で参照されています。
私のエンティティ接続文字列が問題です。
これは、app.config から win.config にコピーしたものです。
問題は、メタデータ ソースを読み込めないというエラーが表示されることです。
モデル名が正しいと確信しています。Reflectorでdllをチェックしました。
だから、自分のdllを接続文字列に含めるべきだと思っていて、これを試しました
しかし、DataAccess.dll can't be found in list of assembly enumerationsというエラーが発生しています。
私のモデルをdll内で直接参照する方法はありますか? そして、私のdllは厳密にdllという名前ではありません。
どんな助けでも大歓迎です。
ありがとう
asp.net-mvc - ASP.NET MVC 3 で VS エンティティ ダイアグラム デザイナーを使用することはできますか?
ASP.NET MVC 3 の紹介ビデオは、望ましいワークフローは、モデルを定義するクラスを宣言すること (コード ファースト デザイン) であることを暗示しています。
Visual Studio には、ナビゲーション プロパティなどを使用してそのようなクラスを生成できる優れたエンティティ ダイアグラム デザイナーがあるため、これは奇妙に思えます。
そのエンティティ ダイアグラム デザイナーを使用してモデルを設計し (モデル ファースト設計)、ASP.NET MVC 3 に生成されたクラスをモデルとして理解させることはできますか?
可能であれば正確な手順を提供してください:)ありがとう:)
entity-framework - 相互参照テーブルを使用したエンティティ モデルの作成 - EntityFramework 4.1
これが私のシナリオです(テーブル):
これら 3 つのテーブルを EDMX モデルにインポートすると、Employee と Department の 2 つのエンティティが得られます。Entity Employee にはナビゲーション プロパティ Departments があり、エンティティ Department にはナビゲーション プロパティ Employees があります。
そして、これはすべて問題ありません。実はこういうの好きです。
しかし、XREF テーブルにさらにフィールドを追加したい場合に問題が発生します。たとえば、DateCreated、UserId フィールドを使用して、変更がいつ誰によって行われたかを記録したいと考えています。これら 2 つのフィールドを XREF テーブルに追加すると、EDMX モデルには 2 つではなく 3 つのエンティティが表示されます。大きな問題ではありませんが、コーディングはすでに完了しているので、(コーディングを避けるための) 簡単な解決策を探しています。
質問:新しいフィールドを XREF (相互参照) テーブルに追加して、エンティティを 2 つだけ保持することはできますか? はいの場合、日時とユーザー ID 情報を更新するにはどうすればよいですか?
(日付とユーザー ID を使用して) 更新できるようにするには XREF エンティティが存在する必要があると思いますが、ナビゲーション プロパティ EmployeesDepartmentXREFs ではなく、 Departments と Employees を持つナビゲーションプロパティが本当に好きです。
これの中間点はありますか?ベストプラクティスは何ですか?
ありがとう。
entity-framework - 同じ 2 つのエンティティ間の 2 つの関係をどのようにマッピングしますか?
これらの関係を適切に説明する方法についてのアドバイスは、素晴らしい出発点となります。正確に記述されたものは、解決策を探す問題です。エンティティ User と Login があります。ここで、Login は基本的に 1 人のユーザーのログイン セッションを表します。そのため、通常、User には多くの Login インスタンスがあります。この関係は、必須の単一の User ナビゲーション プロパティを使用して Login 側でのみ記述されます。User 側には、暗黙的ではあるが宣言されていない Login コレクションがあります。
次に、他の関係では、ユーザーはログインの承認の下で作成されるため、この関係はログイン ナビゲーション プロパティを使用してユーザー側で記述され、ログイン側には暗黙的ではあるがユーザー コレクションはありません。
DB ツールを使用する以外に DB モデリングを行うことはあまりありません。DB ツールは常に適切な関係を取得するだけですが、今では、流暢なマッピングを使用して、最初にこれらの関係をコードにマッピングする必要があります。この 2 つの関係をどのように説明すればよいでしょうか? 原理側と従属側とは何ですか? ここでの多重度とは何ですか?
.net - Entity Framework でのカスケード削除による 1 対 0..1 の関係
Entity Framework 4.3 で作成された次のモデルを想定しています: http://www.dumpyourphoto.com/files4/122585/bI2uq9a.png
我々は持っています:
- ロケーションエンティティ
- 立地のある会社
- 関係:ロケーションには 0..1 社が含まれます。Location エンティティは、設計内のさらに多くのエンティティで使用されるため、この選択が必要です。
- カスケード削除: 会社が削除されると、対応する場所も削除する必要があります。
ここで問題が発生します。このモデルからデータベースを生成すると、Entity Framework がポップアップして次のエラー メッセージが表示されます。
http://www.dumpyourphoto.com/files4/122586/bgOPaZwqL.png
エラーメッセージを翻訳すると、次のようになります。
"End Company on relationship Model1.Store.CompanyLocation cannot have operation specified since its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'."
調査の結果、エンティティ フレームワークが次のデータベースを生成するため (カスケード削除なし)、これは実際には不可能であることがわかりました 。
エンティティ フレームワークは少しごまかしているため、カスケード削除は実際には実行できません。エンティティに両方のナビゲーション プロパティを保持しながら、外部キーを 1 つだけ生成します。
これは完全に賢明で正しいデータベースですが、問題を引き起こします。このカスケード削除が必要ですが、データベース内の他のオブジェクトが会社と同じ方法で場所エンティティを使用するため、0..1 の関係も必要です。これに対する解決策、またはこれを回避する方法についてのアドバイスはありますか?