問題タブ [ef-model-first]
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.
.net - データを使用して既存のデータベースに新しいテーブルを作成する最良の方法は何ですか?
データを含むいくつかの既存のテーブルを持つ既存のデータベースを対象とする新しいプロジェクトを開始しようとしています。プロジェクトの一環として、いくつかの新しいテーブルを作成し、既存のテーブルとの関係を構築しますか? このシナリオでは、どのアプローチが優れていますか。(新しいテーブルの) テーブル構造を変更するたびにデータを失いたくないので、コードが最初に問題になると思います。
.net - EF MF の使用時にデータベースを初期化するにはどうすればよいですか?
EF 4.1 (モデル ファースト フレーバーを使用) を使用するアプリケーションがあり、モデルが更新され、データベースが削除されて再作成されたときにデータベースを初期化したいと考えています。
私はこれに関するまともなドキュメントを探すのに何時間も費やしました.Database.SetInitializerが道だと思っていましたが、これにはDbContextが必要であり、生成されたコードはObjectContextを使用していることがわかりました.
T4 テンプレートを DbContext を使用するように切り替えるために内部をいじることはできると思いますが、すぐに使用できるモデル ファーストで生成されたコードを操作する方法が必ずあるはずです。
[モデルファーストを完全に放棄する必要がありますか?]
.net - さまざまな目的でビューの作成を使用する方法は?
ASP.NETMVC3は初めてです。モデルファーストアプローチを使用して、ASP.NETMVC3で1つのプロジェクトを作成しました。
私は次のエンティティを持っています:Customer
そしてCall
これらのエンティティ間の関係は1つ(顧客)には多く(呼び出し)があります。これらのエンティティの両方のコントローラーを作成しました。
問題は、顧客のインデックスビューに、特定の顧客への電話を追加するためのActionLinkを追加したことです。このためのコードは次のとおりです。
このリンクをクリックすると、通話の作成ビューが開きます。通話作成ビューで、特定の顧客の名前を表示したいと思います。
渡されたCustomerIdの使用方法は?これを行う方法?
.net - EF モデルの最初のエンティティ キー プロパティ名の重複
私はモデルの最初のアプローチを試していますが、面倒です。たとえば、BuildingID という名前のキー プロパティを持つ Building という名前のエンティティがあり、Room エンティティへの関連付けを作成すると、Room エンティティの外部キー プロパティは BuildingBuildingID という名前になります。
どうすればこの狂気を止めることができますか!
c# - 基になる EF モデルを定期的に変更するための最良の代替手段
モデルファーストアプローチでエンティティフレームワーク4を使用してC#アプリケーションを開発しています(DBテーブルとクラスを生成するモデルを持っています)。
顧客から変更要求が来るたびに、DB スキーマ (テーブル定義など) を定期的に変更する最善の方法は何ですか? (DB 全体をドロップして、生成されたモデル SQL をそれに適用することは、DB 内のすべてのデータが失われるため、明らかにオプションではありません。)
誰かが私にそのヒントを教えてくれることを願っています。
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 - EntityFrameworkはupdateステートメントの影響を受ける行をどのように検出しますか
Npgsqlプロバイダー(VS2010-.NET 4ターゲット)でエンティティフレームワーク、モデルファースト、自己追跡エンティティを使用しています。
楽観的同時実行性の例外を追跡しようとしていますが、問題はOptimisticConcurrencyException
、影響を受ける行が0より大きい場合でも、エンティティの列が固定としてマークされるとすぐにanが発生することです。
ここでいくつか掘り下げた後、コマンドテキストが単純な更新ステートメントである場合の代わりに、Entity Frameworkが更新コマンドを発行し、dbCommand.ExecuteReader(CommandBehavior.SequentialAccess)
その後に続く理由を知りたいですか?dbDataReader.Read()
dbCommand.ExecuteNonQuery()
ありがとう。
c# - EFモデルファースト:サブクラスオブジェクトがコンテキストに表示されない
モデルファーストアプローチを使用して作成されたモデルがあります。コンテキストを使用してBookエンティティにアクセスしようとすると、そこにリストされていません。しかし、販売アイテムはリストされています。Bookエンティティをコンテキストに追加するには、どのような変更を行う必要がありますか?
注:詳細については、「例外の原因となるエンティティへの参照の追加」および「Entity Framework:リポジトリ内のサブクラスオブジェクトの取得」を参照してください。
モデル
コード
c# - 例外を引き起こすエンティティへの参照を追加する
以下に示すようなモデルがあります(モデルファーストアプローチを使用して作成)。
本は売り物です。DigitalDiscは売り物です。これは正常に機能しており、データがデータベースに正しく挿入されています。
「購入」という名前の新しいエンティティを追加しています。1 回の購入には複数の販売アイテムが含まれます。この新しい関連付けを追加してデータベース スキーマを更新すると、次の例外が発生します。
エントリの更新中にエラーが発生しました。
"INSERT ステートメントは、FOREIGN KEY 制約 \"FK_PurchaseSellingItem\" と競合しました。データベース \"LibraryReservationSystem\"、テーブル \"dbo.Purchases\"、列 'PurchaseId' で競合が発生しました。\r\nステートメントは終了しました。 "}
これを克服する方法は?
注:本を作成する必要があります(本のデータをデータベースに入力するなど)。この書籍の購入が発生する場合と発生しない場合があります。ブックが作成されるとき、そのブックの外部キー列は null である必要があります。しかし、その列が更新されると、それは Purchase テーブルに存在する ID である必要があります。それは可能ですか?
注: モデルで「PurchasePurchaseId」フィールドを null 可能にしようとすると、次のエラーが発生します。
エラー 1 エラー 113: 関係 'PurchaseSellingItem' のロール 'Purchase' では多重度が無効です。従属ロールのすべてのプロパティは null 可能であるため、プリンシパル ロールの多重度は '0..1' である必要があります。C:\Documents and Settings\U16990\My Documents\Visual Studio 2010\Projects\LijosEF\LijosEF\MyModelFirstTest.edmx 35 3 LijosEF
コード
参照:
sql-server - Entity FrameworkModelFirstを使用してパスワードフィールドを暗号化する
VS2010を使用するプロジェクトでは、Entity FrameworkModelFirstを使用しています。
.edmxウィンドウまたはプロパティpassword
ウィンドウでフィールドを暗号化するように設定する方法があるのではないかと思います。生成された.csファイルは、モデルを変更するたびにカバーされるため、変更したくありません。