zoukankan      html  css  js  c++  java
  • 我也来说说Entity Frame Work 4中的数据库优先和代码优先两种方式(2)

    上次谈了下使用EF的“数据库优先”方式创建一个ORM, 今天来接着聊“代码优先”的方式创建一个ORM;

    从字面上理解,数据库优先是先创建数据库,代码优先那就肯定是先写代码了,所以,代码优先它是先写代码的,也就是它与数据库优先恰恰相反。

    首先我们打开VS2010,创建一个空的ASP.NET MVC 2项目,项目名称命名为:RoRoWoCodeFirst,如下图:

    创建成功后的项目结构情况,如下图:

    现在我们为这个项目创建一个代码优先的ORM模型,在项目中点鼠标右键,进入“添加”-->“新建项”,在弹出的对话框中选择“数据”,然后创建一个“ADO.NET 实体数据模型”,如下图:

    它会默认创建一个Model1.edmx的文件,然后进入下一步,会让你选择是从数据库生成还是从工具箱设计概念模型中生成,这里我们选择从工具箱设计概念模型生成。

    选择完毕后,会出现一个空白的界面,左边的工具箱中有我们要使用的工具,如下图:

    我们从工具箱中,使用“实体”工具,向空白处拖入一个“实体”,如下图:

    他默认创建了一个名为“实体1”的类,并且有一个ID的属性字段,用鼠标在其上方双击,可以对“实体1”进行修改,我们把“实体1”改为“BlogCategory”,然后为其添加属性,最后改为如下结果:

    此时,我们查看代码,开发工具已经帮我们生成了ORM的代码,如下图:

    上面就是根据我们的设计生成的代码,当然你也可以不使用设计工具,直接手工写出这些代码,也是可以的 ^_^,接下来,如何创建数据库呢?看下面的图:

    此时,我们可以根据设计,在界面中点击鼠标右键,选择“根据模型生成数据库”即可得到开发工具根据我们的代码生成所需的数据库SQL代码,用于创建数据库。下次,我将谈谈POCO的方式。

  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/taven/p/1832502.html
Copyright © 2011-2022 走看看