学习Asp.Net MVC 5:开发前需先创建SQL Server数据库及表吗?
嘿,我来帮你理清这个问题~答案是不一定,这完全取决于你选择的Entity Framework(EF,MVC5中常用的ORM框架)开发模式:
Code-First(代码优先)模式:这是MVC5里非常流行的方式,你完全不需要提前手动创建数据库、数据表或者关系图。你只需要先编写代表业务实体的C#类(比如
User、Order),然后配置好DbContext类来映射这些实体,接着通过EF的迁移工具(在Package Manager Console中执行Enable-Migrations、Add-Migration、Update-Database这些命令),EF就会自动帮你生成对应的数据库、表结构以及实体间的关系。甚至后续你修改实体类后,还能通过迁移命令同步更新数据库结构,非常灵活。Database-First(数据库优先)/Model-First(模型优先)模式:这两种模式才需要提前准备好数据库相关内容。比如Database-First是你先手动在SQL Server里创建好数据库、表、字段和关系图,然后通过EF的逆向工程工具生成对应的实体类和
DbContext;Model-First则是先在EF设计器里绘制实体模型和关系,再生成数据库创建脚本,执行脚本得到数据库。
所以回到你的情况,如果你是用Code-First模式,那根本不需要提前手动建库,可能你遇到的连接问题是因为连接字符串配置有误、迁移命令没执行,或者EF的初始化设置不对。如果是用另外两种模式,那提前建好数据库就是必要步骤啦。
内容的提问来源于stack exchange,提问作者Hojat Moshkabadian

