質問: この質問を移動する必要があることを教えてください、私はそれを移動します。他にどこに助けを求めればいいかわかりません。 私の現在のワークフローは次のとおりです。 1. 最初にデータベースを作成します(実際のデータベース) 2. モデルを作成するscaffoldコマンドを実行します 3. Visual Studio Databaseプロジェクトを作成する 4. データベースをインポートする(データベースプロジェクト) データベースに変更を加える必要があるときはいつでも、以下に従います。 1. データベースプロジェクトを変更する 2. スキーマ比較を実行する 3. データベースの確認と更新 4. -Forceを指定してscaffoldコマンドを再実行し、すべてのモデルを再構築します。 (もしあれば)どんなタイプの問題を自分が将来に向けてオープンにしておくのか? 最初にデータベースを更新するため、データベースの移行の価値はわかりませんが、データベースプロジェクトを使用してソース管理と保護を提供します。 私はいつもグラフィックデータベースツールを使用していましたが、明らかにCoreではオプションではありません。 また、DevartのEntity DeveloperをORMと見なしています。 あなたの考えやフィードバックは非常に高く評価されています。 したがって、最大の問題は、モデルに変更を加える必要があるときに何が起こるかです。 以下のような単純なもの: ``` public partial class UserInfo { public int Id { get; set; } [Required] public string FirstName { get; set; } public string LastName { get; set; } public string UserName { get; set; } public string Password { get; set; } public DateTime RecordCreated { get; set; } } ``` 私の '[Required]'は、-forceの後に消えてしまいます。 ジョー
回答: これがEF Coreの正しい「データベース優先」ワークフローであり、そのシナリオでは移行を使用しません。エンティティまたはDbContextのカスタマイズは、必ず個別の部分クラスファイルに配置して、エンティティを再生成するときにそれらが上書きされないようにしてください。 > 常にグラフィックデータベースツールを使用していましたが、明らかにCoreではオプションではありません。 > > このワークフローを使用すると、データベーススキーマに必要なグラフィカルデザインツールを使用できます。