EF三种编程方式详细图文教程(C#+EF)

  开始学习EF,从网上找了好多,都不是自己想要的,于是边学边把自己学习的过程写下来,以供参考。

  操作环境:VS2013+SQLServer2012

  Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下EF三种编程方式。

  开始介绍这三种EF操作方式之前,首先在Visual Studio 2013中建立一个数据库连接,这里我们以“EFDemo”数据库为例:

说明:在这里我用的是Lenovo\SQLEXPRESS这个数据库,当然用localdb也可以。

Database First

  “Database First”模式我们称之为“数据库优先”,前提是你的应用已经有相应的数据库,你可以使用EF设计工具根据数据库生成数据数据类,你可以使用Visual Studio模型设计器修改这些模型之间对应关系。

  首先创建一个控制台应用程序,然后右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB:

接着选择从数据库生成:

下一步选择数据库连接,选择我们刚刚建的EFDemo数据库。

下拉框里没有,我们点击新建连接

然后选择表

创建完模型之后

你会发现Visual Studio自动为你生成了“Class、“Student”两个实体类和一个“EFDemoDB”数据库上下文操作类:

下面简单的看一下如何使用EF进行数据查询,通过下面的代码我们可以看到EF对于数据的操作入多么优雅:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace EFDemo
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             EFDemoEntities db = new EFDemoEntities();
14
15             //按照ID排序,并查找
16             var model = db.Classes.OrderBy(m => m.ID).Select(m => new
17             {
18                 ID = m.ID,
19                 Name = m.Name
20             });
21
22
23             if(model.Count() > 0)
24             {
25                 Console.WriteLine("ID号:{0}", model.First().ID);
26                 Console.WriteLine("班级名:{0}", model.First().Name);
27             }
28         }
29     }
30 }

运行结果:

注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可。(如下图)

本文大部分取自崔江涛(KenshinCui),写的博客

Entity Framework 5.0系列之EF概览

时间: 2024-12-20 01:10:02

EF三种编程方式详细图文教程(C#+EF)的相关文章

EF三种编程方式详细图文教程(C#+EF)之Model First

Model First Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在Visual Studio中我们通过设计对于的数据模型来生成数据库和数据类. 首先创建一个控制台应用程序,右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB(此名称跟上一个没有任何联系,只是重名而已): 在模型设计视图中,添加新实体:(空白处右键) 添

EF三种编程方式图文详解

Entity Framework4.1之前EF支持"Database First"和"Model First"编程方式,从EF4.1开始EF开始支持支持"Code First"编程方式,今天简单看一下EF三种编程方式. 开始介绍这三种EF操作方式之前,首先在Visual Studio 2013中建立一个数据库连接,这里我们以"EFDemo"数据库为例: 说明:在这里我用的是Lenovo\SQLEXPRESS这个数据库,当然用l

Linux学习之路-VMware虚拟机三种联网方式

来源:VMware虚拟机三种联网方式(图文详细解说) VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图: VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VMware Network AdepterVMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡 VMware Network A

java 多线程编程三种实现方式

一种是继承Thread类,一种是实现Runable接口,还有一种是实现callable接口: 有博主说只有前面2种方式,我个人愚见是三种,主要详细介绍下callable的使用: 三种线程的我的个人理解: thread 是最简单的,简单粗暴也是最基础的,复写run()方法,start启动就好了: runable 是thread基础上的改进版本runable 主要的贡献在于实现了资源的共享,比如说在线选座的座位资源就需要共享这个时候就一定要使用runable,但是他也需要thread 的帮忙: ca

C++编程基础-数组OA现金盘平台制作的第三种实现方式

1 // 18-数组的第三种实现方式OA现金盘平台制作QQ2952777280[话仙源码论坛]hxforum.com[木瓜源码论坛]papayabbs.com.cpp: 定义控制台应用程序的入口点.2 //3 4 #include "stdafx.h"5 #include <iostream>6 #include <climits>7 #include <array> //引入模板类8 #include<string> //引入strin

C++编程基础一 18-数组的第三种实现方式

1 // 18-数组的第三种实现方式.cpp: 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <climits> 7 #include <array> //引入模板类 8 #include<string> //引入string类库 9 using namespace std; 10 11 void CreateArray(); 12

WiFi密码破解详细图文教程

每天都能看到有不少网友在回复论坛之前发布的一篇破解WiFi密码的帖子,并伴随各种疑问.今天流云就为大家准备一篇实战型的文章吧,详细图文从思维CDlinux U盘启动到中文设置,如何进行路由SSID扫描.WPA密码类型该如何破解.字典该怎样做(WEP加密的密码貌似可以直接破解不用字典)效果比BT8要强悍很多!这是一篇详细介绍WiFi密码破解的文章,准备好了吗? 好了,先说下提前要准备的东东吧:1.U盘一枚,最小1G空间.需进行格式化操作,提前保存内部文件.2.CDlinux镜像.帖子最后会提供一枚

wireshark怎么抓包、wireshark抓包详细图文教程(转)

wireshark怎么抓包.wireshark抓包详细图文教程 wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了. 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包. wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS

zookeeper集群环境搭建详细图文教程

zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装zookeeper 3. 解压zookeeper压缩包 单节点zookeeper配置 1. 配置zoo.cfg文件 2. 配置zookeeper的数据存储目录 3. 新建myid文件 4. 配置zookeeper集群节点 5. 启动zookeeper服务 6. 检查zookeeper服务是否成功启动