EF之ModelFirst实体先行
继上篇博文中写到了DBFirst,下面就来讲讲关于ModelFirst知识,ModelFirst顾名思义,实体先行!
适用于在设计实体初期, 没有数据库表的原型,这样开发者在设计实体的同时可以生成数据库表,一举两得。下面就来讲讲ModelFirst的步骤:
首先建立一个控制台应用程序(和DBFirst的步骤相似)
新建如下图:
添加新建项-选择ADO.NET实体数据模型:
这里和DBFirst不一样,因为ModelFirst没有数据库,选择空模型:
如下图所示:
在空白处右键,选择实体建立:
选择新增实体:
新建班级实体:
然后为班级实体添加属性ClassNumber:
接着添加学生(Student)实体:
最后建立班级和学生的关联(一对多的关系):
两个实体的关系图如下图所示:
然后选中实体全部,单击右键 选择生成数据库:
选择在哪个服务器上面的数据库建表,以及表的名称:
选择“是”,然后点击下一步:
最后会在VS中生成sql脚本,然后执行sql脚本会自动在数据库中建表:
生成的表如下:
表中的实体如下图所示:
关于ModelFirst如果修改实体数据,我们可以使用EF机制来进行修改,然后同步数据库,但是如果修改某个字段呢,使用ModelFirst修改,然后生成sql脚本重新生成表(前提是数据库中的数据备份好,否则会清空),还是在数据库中直接修改字段,然后使用DBFirst生成实体呢?还有待于研究,大家也可以踊跃拍砖!