entity framework 新手入门篇(1)-建立模型

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

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

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

一、开发准备

虽然微软早在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模型就建立完成了。

时间: 2024-12-23 22:44:40

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

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

前面我们已经学习了entityframework的基本的增删改查,今天,我们将在EF中实现一些更加贴近于实际功能的SQL方法. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller表. 在本次学习之前,我们先要了解一个神奇的接口,iqueryable这个接口类似于ienumable,但并不完全相同,Iqueryable是可查询类型需要实现的最重要的接口,在其Count,ToList,ToArray之后才会真正执行查询,所以,为了保证性能,请尽量在最后一步在进行Co

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

经过前两节的简单描述,终于可以进入entity framework的使用部分了.本节将对entity framework原生的增删改查进行讲解. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller表. 一.entity framework 相关类的理解. 首先,House数据库在映射后会生成一个名为HouseEntities的类,这个类我们称之为数据上下文,可以简单的理解为数据库的部分映射(如果映射了全部的表,视图,存储过程,则可看作全部映射). 使用数据库的时

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

在建立好了EF模型之后,先不着急使用它,在使用它之前,你还需要了解两个相关的技术,lambda表达式与linq. 作为微软C#语言中重要的语法糖-lambda表达式与LINQ,本质都是一个方法,以lambda表达式为例: x=>x+1;就是一个完整的lambda表达式. 其等同于一个匿名的方法: int anonymous(int x) { return x+1; } 考虑一下这个方法中最重要的部分,也就两个部分:传入的参数,返回的参数. 返回值类型,参数类型都是可以进行推断的,就像C#中的VA

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

对于EF的操作,我们已经有了大概的了解了,但对于实战来说,似乎还欠缺着一些常用的功能,那就是批量的删除,更新数据. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller表. 一.使用原生EF如何实现批量删除和修改? //批量修改 public static bool UpdateAllPrice(decimal price) { bool isOk = false; using (HouseEntities db = new HouseEntities()) {

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

在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 第一步:创建控制台项目 这个就不多说了,如果新建项目你还不知道,那先去学学基础吧. 第二步:创建实体模型 在项目上右击 添加新建项目→Ado .Net 实体数据模型 如下图所示: 第三步:与现有的 数据库 进行连接生成EF实体 在做这步之前,首先确定你是否已经有现有数据库,当然在这提供我自己的数据库脚本.

Entity Framework学习中级篇

1-EF支持复杂类型的实现 本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作. 通常,复杂类型是指那些由几个简单的类型组合而成的类型.比如:一张Customer表,其中有FristName和LastName字段,那么对应的Customer实体类将会有FristName和LastName这两个属性.当我们想把FirstName和LastName合成一个名为CustomerName属性时,此时,如果要在EF中实现这个目的,那么我们就需要用到复杂类型. 目前,由于EF不

Entity Framework 4 第一篇 POCO

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 Entity Framework 4 第一篇 POCO 在EFv1版本中,并没有提供对POCO(Plain Old CLR Objects)的支持.目前,在.Net4.0 Beta2中的EF 4完善了很多.可以预见,正式的EF4版本应该会有很多

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

IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 它继承 IEnumerable 接口,而因为.net版本加入Linq和IQueryable后,使得IEnumerable不再那么单调,变得更加强大和丰富. 为了区别两个接口,我们通过一个实际的例子来解释一下. 根据上篇随笔的实例,编写如下代码: static void Main( string []

MYSQL新手入门篇

MYSQL新手入门篇 一.数据库的简介 什么是数据库? 数据的仓库,如:在atm的实例中我们创建一个db目录称之为数据库 什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 他们是数据库软件,主要功能为两部分:1.讲数据保存到内存或者文件.2.接受特定的命令对数据进行操作 什么是SQL? 上述问题说过,数据库要接受特定的命令,这个命令就是用SQL编写,他是结构化查询语言(Structured Query Language)的缩写,一种专门与数据库交互的