Database First

“Database First”模式即“数据库优先”,其实Database First 与Model First 很类似,只不过一个是有数据可一个是创建数据库,具体的操作流程其实很类似,

关键一步就是选择 实体数据模型向导中,选择数据库还是空模板,Database First 是选择数据库,而Model First 是选择空白的模板,

所以Database First 的前提是必须有相应的数据库,才可以使用EF设计工具根据数据库生成数据数据类,同时也可以使用VS模型设计器修改这些模型之间对应关系。

为了与上篇的Model First加以区分,这里新建一个控制台程序EFTest2,然后添加新建项,选择 ADO.NET实体数据模型,名称输入EFDemoDB

C#+EntityFramework编程方式详细之Database First-LMLPHP

点击 添加

C#+EntityFramework编程方式详细之Database First-LMLPHP

选择 来自数据库的EF设计器  点击 下一步,

C#+EntityFramework编程方式详细之Database First-LMLPHP

这里选择 新建连接,因为Database First是必须要有数据库的,所以这里你可以使用.\SQLEXPRESS这个默认的数据库,也可以用localdb数据库,当然为了方便,本作者选择上篇文章Model First当中的master数据库

C#+EntityFramework编程方式详细之Database First-LMLPHP

C#+EntityFramework编程方式详细之Database First-LMLPHP

点击 下一步

C#+EntityFramework编程方式详细之Database First-LMLPHP

点击  下一步

C#+EntityFramework编程方式详细之Database First-LMLPHP

选择表,点击 完成

C#+EntityFramework编程方式详细之Database First-LMLPHP

点击  确定,

上述操作完成后项目中会添加两个实体类Student,SubjectScore和一个数据库上下文操作类EFDemoDB,如下

C#+EntityFramework编程方式详细之Database First-LMLPHP

测试一下

C#+EntityFramework编程方式详细之Database First-LMLPHP

运行结果

C#+EntityFramework编程方式详细之Database First-LMLPHP

注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择   从数据库更新模型(U)...     接着按照向导操作即可。(如下图)

C#+EntityFramework编程方式详细之Database First-LMLPHP

04-21 11:42