EF之ModelFirst实体先行

     继上篇博文中写到了DBFirst,下面就来讲讲关于ModelFirst知识,ModelFirst顾名思义,实体先行!

     适用于在设计实体初期, 没有数据库表的原型,这样开发者在设计实体的同时可以生成数据库表,一举两得。下面就来讲讲ModelFirst的步骤:

     首先建立一个控制台应用程序(和DBFirst的步骤相似)


   EF之ModelFirst实体先行_第1张图片


     新建如下图:

  

   EF之ModelFirst实体先行_第2张图片


      添加新建项-选择ADO.NET实体数据模型:


   EF之ModelFirst实体先行_第3张图片


  EF之ModelFirst实体先行_第4张图片


     这里和DBFirst不一样,因为ModelFirst没有数据库,选择空模型: 

  

  EF之ModelFirst实体先行_第5张图片


     如下图所示:


   EF之ModelFirst实体先行_第6张图片


   在空白处右键,选择实体建立:


  EF之ModelFirst实体先行_第7张图片


     选择新增实体


   EF之ModelFirst实体先行_第8张图片


     新建班级实体:


   EF之ModelFirst实体先行_第9张图片


   然后为班级实体添加属性ClassNumber:


   EF之ModelFirst实体先行_第10张图片


    接着添加学生(Student)实体:


  EF之ModelFirst实体先行_第11张图片


    最后建立班级和学生的关联(一对多的关系):


  EF之ModelFirst实体先行_第12张图片


    两个实体的关系图如下图所示:


  EF之ModelFirst实体先行_第13张图片


     然后选中实体全部,单击右键 选择生成数据库:


   EF之ModelFirst实体先行_第14张图片


     选择在哪个服务器上面的数据库建表,以及表的名称:


   EF之ModelFirst实体先行_第15张图片


    选择“是”,然后点击下一步:


EF之ModelFirst实体先行_第16张图片


   最后会在VS中生成sql脚本,然后执行sql脚本会自动在数据库中建表:


  EF之ModelFirst实体先行_第17张图片


     生成的表如下:


  EF之ModelFirst实体先行_第18张图片


   表中的实体如下图所示:


EF之ModelFirst实体先行_第19张图片


    关于ModelFirst如果修改实体数据,我们可以使用EF机制来进行修改,然后同步数据库,但是如果修改某个字段呢,使用ModelFirst修改,然后生成sql脚本重新生成表(前提是数据库中的数据备份好,否则会清空),还是在数据库中直接修改字段,然后使用DBFirst生成实体呢?还有待于研究,大家也可以踊跃拍砖!



你可能感兴趣的:(EF之ModelFirst实体先行)