entity framework是微软官方免费提供给大家的一套ORM(Object Relational Mapping对象关系映射)解决方案.它不仅可以帮助我们解决数据缓存的问题,还能在最小的开销下实现完全的OO(Object Oriented面向对象)编程。实乃中小项目中敏捷开发的一大福祉。博主作为一只刚入本行的菜鸟,有幸参加开发了几个使用entity framework(以下简称EF)的项目,虽然在这些项目开发的过程中,走了许多的弯路,网上的资料也不甚齐全。在摸爬滚打了一年之后,也算有了一些自己的体会,所以从今天开始,我想在我的博客中,与大家分享这些小小的经验。

本系列教程,立足于项目开发的实际需求,不对EF内部机制做过多赘述,旨在帮助大家从零开始构筑自己应用的数据层。

若本文中有什么错误,希望老鸟们能给予指正。对本文中的实现有更好的思路,也欢迎大家随时与我讨论,我的邮箱:l420331@hotmail.com.

一、开发准备

虽然微软早在VS2008 SP1发布的时候,就已集成了EF。但早期的版本,使用不甚方便,我推荐大家使用VS2012或更高版本的visual studio来进行EF的开发。在本文中,我将使用VS 2012+sql server express 2012的开发环境来进行实际的操作。

EF作为数据持久化的一种工具,支Database First(数据库优先)、Model First(模型优先)、Code First(代码优先)三种生成模式,这三种模式可以从,数据驱动,模型驱动和交互(动作)驱动的方向来完成应用的制作,本文采用了相对持简单易懂的数据库优先模式。

数据库优先模式,顾名思义,当然要先有数据库,我们打开sql server management studio,新建一个数据库,起名为house,其中包含了两张主要的表,house和seller.表的结构如下:

在有了数据库自会后,我们就可以正式进入开发了。博主的VS2012自带EF5.0,如果小伙伴们的VS版本中没有提供EF模块也别着急,去微软官方的NUGET上下载一个就可以了,具体步骤如下:

1.打开你的项目。

2.选择 工具-》NUGET程序包管理-》管理解决方案的NUGET程序包

3.搜索并安装entity framework

二、建立数据模型

安装完成后,我们在项目中新建一个EF模型,具体步骤如下:

完成之后,如果提示不安全,是因为EF自动生成了.CS文件,直接忽略掉继续就可以了。生成后别忘记进行保存。

保存成功后,我们的第一个EF模型就建立完成了。

entity framework 新手入门篇(1)-建立模型的更多相关文章

  1. entity framework 新手入门篇(3)-entity framework实现orderby,count,groupby,like,in,分页等

    前面我们已经学习了entityframework的基本的增删改查,今天,我们将在EF中实现一些更加贴近于实际功能的SQL方法. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和 ...

  2. entity framework 新手入门篇(2)-entity framework基本的增删改查

    经过前两节的简单描述,终于可以进入entity framework的使用部分了.本节将对entity framework原生的增删改查进行讲解. 承接上面的部分,我们有一个叫做House的数据库,其中 ...

  3. entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended

    对于EF的操作,我们已经有了大概的了解了,但对于实战来说,似乎还欠缺着一些常用的功能,那就是批量的删除,更新数据. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller ...

  4. entity framework 新手入门篇(1.5)-lambda表达式与linq

    在建立好了EF模型之后,先不着急使用它,在使用它之前,你还需要了解两个相关的技术,lambda表达式与linq. 作为微软C#语言中重要的语法糖-lambda表达式与LINQ,本质都是一个方法,以la ...

  5. Entity Framework 新手入门友好实例

    起因 因为实习的原因,程序之中用到了较多的数据库操作逻辑.如果每一处数据库操作都手写的话,工作量较大且后期不易于维护,所以希望能通过 ORM 框架来解决这两个问题. 在昨天之前,对于 ORM 这个词汇 ...

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

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

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

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

  8. Entity Framework快速入门--ModelFirst

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

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

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

随机推荐

  1. 理解HTTP幂等性

    转载: 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API ...

  2. OpenGL利用模板测试实现不规则裁剪

    本文是原创文章,如需转载,请注明文章出处 在游戏开发中,经常会有这样的需求:给定一张64x64的卡牌素材,要求只显示以图片中心为圆点.直径为64的圆形区域,这就要用到模板测试来进行不规则裁剪. 实现不 ...

  3. C#基础2

    namespace 基础 //定义一个命名空间,为基础 { class Program //定义一个名称为Program的类 { static void Main(string[] args) //这 ...

  4. CentOS 7 配置静态IP

    1.查看MAC地址 2.修改/etc/sysconfig/network-scripts/ifcfg-[第一步中红框内的文字] 3.添加和修改内容如下: 4.修改/etc/resolv.conf 5. ...

  5. 51nod1305 Pairwise Sum and Divide

    题目链接:51nod 1305 Pairwise Sum and Divide 看完题我想都没想就直接暴力做了,AC后突然就反应过来了... Floor( (a+b)/(a*b) )=Floor( ( ...

  6. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  7. webservice服务的简单应用

    本人目前刚接触到webservice服务,知道它是一个为外部提供接口的服务,下面大概讲一下webservice是如何应用的. 在此我只针对ASP.NET 讲一个是如何应用的: 1. 打开VS ,在WE ...

  8. Fragment:关于Avoid non-default constructors in fragments的错误

    在android开发中,写了一个关于继承Fragment的类时,如果有重载构造函数时,会提示“Avoid non-default constructors in fragments: use a de ...

  9. Web自动化基础(一)使用Selenium定位元素

    什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用&l ...

  10. 解决ViewPager多次刷新后重叠问题

    @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) c ...