エンティティフレームワークでは、既定値の制約機能が達成されていません。自分で試した後、hereについて読んでいます。だから、これを得るための最良の方法は何かを知りたい。ストアドプロシージャを使用するか、そのようなトリガを使用する必要がありますか?そして、コードで明示的に処理したくないので、Entity Frameworkに新しい機能や新しい機能が追加されました。 これは大きな助けになるでしょう。エンティティフレームワークと既定値
答えて
データベースファーストアプローチでは、エンティティフレームワークはデフォルト値の制約を無視します。ただし、Entity Frameworkでは、列のDefault Valueプロパティが表示されます。Model.edmxビューアでは、エンティティを選択して列>プロパティ>既定値に移動します。列のデフォルト値を追加します。それだけです。
私の場合、私はコードでModel.edmxファイルを更新しました。コードはDbからデフォルトの制約を取得し、Model.edmxファイルの概念モデルを更新します。これは、デフォルト値の列が多数あるためです。
デフォルト値の制約の問題はEF6までEntity Frameworkのすべてのバージョンで解消されないと、私はいつもちょうどエンティティの初期化にデフォルト値を入れているEntity Frameworkの7
あなたは研究をしたようです。いいぞ。 –
@Wasim、あなたは "Model.edmxファイルをコードで更新する"と言った。どのようにそれを達成しましたか? – Thomas
@Thomas、私のケースではデータベースはコードスクリプトを書くのに十分な大きさではなかったので、私は手動でそれをやった。 –
回避策として、DBトリガーを使用して列の値をデフォルトに更新できると思います。
ありがとう@Behzad、私はあなたの提案を感謝します。 –
私はコード側から解決策を得ることができない場合、私は間違いなくこのオプションに行くでしょう。 –
最も簡単な方法は、C#からプロパティを初期化して、デフォルト値を確保することです。
データベースの場合、デザイナーはSQLの既定値を無視し、列をComputedとして扱うように指示する必要があります。エンティティの選択 - >列のプロパティ - > StoreGeneratedPatternをComputedに設定します(デフォルトはNone)
私はそれを試して、それが動作しています。ありがとう! –
テーブルの数が多い場合に便利なので、このプロパティをすべての列に設定する方法はありますか? –
@ user7369792 - チェック[この質問](http://stackoverflow.com/questions/12691854/setting-default-value-in-entity-framework-database-first) – Alexei
- 1. エンティティフレームワークの既定値の生成を無効にする(コードファースト)
- 2. Terraformの既定値への既定値
- 3. エンティティフレームワークのMVC Http Post設定値
- 4. JPAエンティティ既定値
- 5. C#が既定値
- 6. Datagridviewチェックボックスエラー既定値
- 7. HTML:入力と既定値の比較
- 8. VS2010:キーボードショートカットスキーマ「既定値」と「Visual C#2005」
- 9. アクセスとSQLのリンクテーブル既定値
- 10. yii1 gridviewドロップダウンリスト既定値としての値を設定
- 11. エンティティフレームワーク - SP戻り値
- 12. Microsoft Accessフォーム既定値を既定の値をテキストボックスとドロップダウンリストの両方に設定する
- 13. DataGridViewComboBoxの既定値を既存のDataGridView列と同じに設定する
- 14. タイムスタンプMysql Date_From既定値
- 15. GWT DatePickerの既定値は
- 16. SharePoint DateTime既定値タイムゾーン
- 17. Polymer iron Ajax withCredentials既定値
- 18. python - 既定値を返す
- 19. nullのときにプロパティの既定値を設定する
- 20. SQL Serverの既定値がエンティティの既定値として表示されない
- 21. エンティティフレームワークの別個の値
- 22. DDDエンティティフレームワークの値のタイプ
- 23. エンティティフレームワーク - 元の値は現在の値と同じ
- 24. ASP.NETエンティティフレームワークの更新SQLのint値を0に設定
- 25. プリズムとエンティティフレームワーク
- 26. エンティティフレームワークとビジネスオブジェクト
- 27. エンティティフレームワークと重複
- 28. マルチテナントアプリケーションとエンティティフレームワーク
- 29. エンティティフレームワークとMSBIアプリケーション
- 30. エンティティフレームワークとゲームサーバー
で解決しているようです。それはあなたが避けたかったものだとわかっていますが、うまくいきます。 –
私のシナリオでは、私のエンティティフレームワークはより頻繁に更新され、私は通常これらの生成されたコードファイルに変更を加えることを避けるためにいくつかのテーブルを持っています。 –
エンティティpocosをどのように生成しているのか分かりません(上記のコメントに基づいてデータベースを作成しているように聞こえます)。しかし、ほとんどのツールでエンティティの部分クラスを作成するオプションがあります。次に、エンティティのインスタンス化時に実行する必要があるカスタムロジックを実行するための部分クラスを作成できます。 Simon Hughesさんが作成したものです。https://marketplace.visualstudio.com/items?itemName=SimonHughes.EntityFrameworkReversePOCOGenerator –