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
   =

   ,Name
   =

   "
   Flydragon
   "
   };
   //
   将上面的实例放入网关对应的实体集合

    schoolEntities.Student.AddObject(stu);
   //
   持久化到硬盘

    schoolEntities.SaveChanges(); } Console.WriteLine(
   "
   OK
   "
   ); } }

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

结果执行正确。

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

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

Entity Framework快速入门--索引贴

参考页面:.html

Entity Framework快速入门--ModelFirst的更多相关文章

  1. Entity Framework快速入门--IQueryable与IEnumberable的区别

    IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...

  2. 实体框架(Entity Framework)快速入门--实例篇

    在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 ...

  3. Entity Framework快速入门--直接修改(简要介绍ObjectContext处理机制)

    在介绍Entity Framework的修改实体到数据库的方法之前呢,我们先简要的介绍一下ObjectContext的处理机制. 1.ObjectContext的处理机制 ObjectContext是 ...

  4. 实体框架(Entity Framework)快速入门

    实体 框架 (Entity Framework )简介 实体框架Entity Framework 是 ADO .NET 中的一组支持 开发 面向数据的软件应用程序的技术.是微软的一个ORM框架. OR ...

  5. Entity Framework快速入门--IQueryable与IEnumberable的区别(转载)

    IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...

  6. Entity Framework快速入门笔记—增删改查

    第一步:创建一个控制台应用程序,起名为EFDemo 2. 第二步:创建一个实体模型 (1)在EFDemo项目上面右击选择添加—新建项—在已安装的选项中选择数据—ADO.NET实体对象模型,如图所示: ...

  7. Entity Framework 程序设计入门二 对数据进行CRUD操作和查询

    前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, <LLBL Gen + Entity Framework 程序设计入门& ...

  8. Entity Framework实体模型 入门视频教程

    Entity Framework实体模型 入门视频教程 恢复内容开始--- 第一步 创建一个 控制台应用程序 第二步 创建一个ADO.NET 数据实体模型 DbModel.edmx 需要跟数据库进行连 ...

  9. 使用MVC5的Entity Framework 6入门 ---- 系列教程

    使用MVC5的Entity Framework 6入门(十二)——为ASP.NET MVC应用程序使用高级功能 为ASP.NET MVC应用程序使用高级功能这是微软官方教程Getting Starte ...

随机推荐

  1. Linux tomcat设置ip地址直接访问,tomcat设置ip地址直接访问,tomcat绑定ip地址

    Linux tomcat设置ip地址直接访问,tomcat设置ip地址直接访问,tomcat绑定ip地址 >>>>>>>>>>>> ...

  2. Linux 安装DenyHost防止ssh被暴力破解

    DenyHosts介绍 当你的linux服务器暴露在外网当中时,服务器就极有可能会遭到互联网上的扫描软件进行扫描,然后试图连接ssh端口进行暴力破解(穷举扫描).如果遇到这个问题,一款非常有用的工具D ...

  3. 《你不知道的JavaScript》整理(六)——强制类型转换

    JavaScript中通常分为两种类型转换,"隐式强制类型转换"(implicit coercion)和"显式强制类型转换"(explicit coercion ...

  4. 腾讯云分布式高可靠消息队列服务CMQ架构

    在分布式大行其道的今天,我们在系统内部.平台之间广泛运用消息中间件进行数据交换及解耦.CMQ是腾讯云内部自研基于的高可靠.强一致.可扩展分布式消息队列,在腾讯内部包括微信手机QQ业务红包.腾讯话费充值 ...

  5. MDX 用Ancestors得到Hierarchy中指定Level的值(附带SCOPE用法之一)

    需求:用户想要用Excel,对比每月预算和整年预算,需要在两个用户定义的Hierarchy都可以浏览.财年季月日(FYQMD)和财年月日(FYMD). 自定义hierarchy 属性关系(Attrib ...

  6. java实现多叉树查找

    package tree; import java.util.List; import java.util.ArrayList; import java.io.Serializable; public ...

  7. 200行自定义异步非阻塞Web框架

    Python的Web框架中Tornado以异步非阻塞而闻名.本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow. 一.源码 本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞 ...

  8. ThinkPhp模板转Flask模板

    Template Converter 网上的PHP资源很多,项目要用Python,所以想起做一个模板转换器,从ThinkPhp转成Flask的Jinja模板. 直接指定两个目录,将目录下的模板文件转换 ...

  9. wemall app商城系统Android之支付宝接口RSA函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享支付宝接口RSA函数,RSA签名.验签.解密等 ...

  10. css中设置div垂直水平居中的方法

    设置要水平垂直居中的div的position为absolute,left:50%;margin-left为负的这个元素宽度的一半,同理,top:50%;margin-top为负的这个元素的高度的一半. ...