zoukankan      html  css  js  c++  java
  • Entity Framework快速入门ModelFirst

    Entity Framework带给我们的不仅仅是操作上的方便,而且使用上也很是考虑了用户的友好交互,EF4.0与vs2010的完美融合也是我们选择它的一个理由吧。相比Nhibernate微软这方面做的的确是很不错。

    下面我将使用CodeFirst方式来做个简单是实际例子与大家分享。

    我们还是和 前面的文章 Entity Framework快速入门--实例篇一样,创建一个控制台项目。

    第一步:创建控制台项目

    第二步:在项目上右击添加Ado.Net 实体数据模型

    如图所示:

    添加实体模型

    第三步: 选择生成实体的方式 "空模型"

    如图所示:

    第四步:添加EF实体

    从工具栏中拖一个实体到edmx设计器中,并命名为Student,然后在属性页中修改此实体的实体集名称为Student,并添加两个标量属性Name,Age【复杂属性,和导航属性在后面的文章我会介绍】如下图所示:

    第五步:根据模型生成数据库

    注意是在edmx空白处右击,选择根据模型生成数据库,并选择我们要创建的数据库连接。如下图所示:

    然后点击确定,点击下一步→完成后,弹出我们生成的根据模型生成的sql,在生成的sql页面里右击执行sql,如下图所示:

    查看数据库中已经帮我们创建好了SchoolDB和表Student,如下图所示:

    这个很是欣喜吧,这个自动化工具的确非常省事,很喜欢微软提供的这样傻瓜式的操作。

    第六步:使用EF帮我们插入一条数据

    首先看一下,EF帮我们自动生成的代码:主要是数据库访问网关和实体类Student,如下图所示:

    然后添加如下代码,并执行

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace EFCodeFirst
    {
    class Program
    {
    static void Main(string[] args)
    {
    using(SchoolContainer schoolEntities = new SchoolContainer())
    {
    //创建student实例
    Student stu = new Student { Age = 23,Name = "Flydragon"};
    //将上面的实例放入网关对应的实体集合
    schoolEntities.Student.AddObject(stu);
    //持久化到硬盘
    schoolEntities.SaveChanges();
    }
    Console.WriteLine(
    "OK");
    }
    }

    程序运行成功。查看数据库:

    结果执行正确。

    好我们总结一下,首先我上来就添加一个实体模型,然后在上面添加一个实体类,并根据模型生成sql而直接生成数据库,然后直接使用ef帮我们生成的ObjectContext和数据库实体Student就可以直接操作数据库的表了。这也是CodeFirst编程方式的比较吸引人的地方吧。

    微软能够做的如此方便易用,的确很令人佩服!

     

    Entity Framework快速入门--索引贴

  • 相关阅读:
    如何面试程序员?
    开始做项目
    ===
    依赖注入获得一个对象却想返回不同的值(Error)
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not reread row data for column 4.
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
    .net 4.5新特性
    有限状态机简单示例
    JavaScript入门经典(第四版)文摘
    小强升职记读后感
  • 原文地址:https://www.cnblogs.com/fly_dragon/p/1960230.html
Copyright © 2011-2022 走看看