C# 使用代码优先的方法进行EF更改

C# 使用代码优先的方法进行EF更改,c#,sql-server,asp.net-mvc,entity-framework,ef-code-first,C#,Sql Server,Asp.net Mvc,Entity Framework,Ef Code First,我真的不知道如何表达我的问题,所以我会尽我所能,希望它有意义 我第一次从无到有(自下而上)编写了一个[ASP.NET MVC]应用程序,我使用的是代码优先的实体框架。据我所知,这意味着(忽略显式细节)我将使用适当的注释等创建我的模型类,EF将在项目运行时生成必要的表/关系(显然假设我在代码中正确设置了所有内容) 第一个问题出现在这里——我的理解基本正确吗,还是我对code First EF的工作原理有根本性的误解? 目前,我只是充实了应用程序的核心功能,所以我只有几个模型类(暂时)来保持它的简单

我真的不知道如何表达我的问题,所以我会尽我所能,希望它有意义

我第一次从无到有(自下而上)编写了一个[ASP.NET MVC]应用程序,我使用的是代码优先的实体框架。据我所知,这意味着(忽略显式细节)我将使用适当的注释等创建我的模型类,EF将在项目运行时生成必要的表/关系(显然假设我在代码中正确设置了所有内容)

第一个问题出现在这里——我的理解基本正确吗,还是我对code First EF的工作原理有根本性的误解?

目前,我只是充实了应用程序的核心功能,所以我只有几个模型类(暂时)来保持它的简单性我担心的是,一旦我第一次从这些模型生成数据库表,我所做的任何进一步的模型添加和/或更改都会破坏代码和/或数据库。是这样吗?在DB表已经生成之后,我是否可以自由添加新的模型类等,并期望EF“在运行中”对其进行排序?或者,在我开始生成表格之前,我是否绝对需要进行全面的“最终结果”系统设计

我正在从头开始(自下而上)为 第一次,我使用实体框架和代码优先的方法。 据我所知,这意味着(忽略明确的细节)我 将使用适当的注释等创建我的模型类。, EF将生成必要的表/关系(显然 假设我在项目中正确设置了代码中的所有内容 运行时

=>1)你明白了


2) 通常,您需要更改域模型(实体或它们之间的关系),域模型将在开发过程中不断演化,直到足够稳定。请参阅此处的实体框架代码首次迁移

第一个问题-您理解得对。第二个问题由EF迁移解决。请参阅关于第一点的内容:您可以选择让EF在设计时(通过
添加迁移
更新数据库
命令)或在运行时(通过设置适当的数据库初始值设定项)计算表/关系。我仍然不确定我是否了解迁移,但至少我解决了任何直接的问题。谢谢