EF三种编程方式详细图文教程(C#+EF)之Database First
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 }


运行结果:

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

原文转自:https://www.cnblogs.com/gaodaoheng/articles/6489728.html
EF三种编程方式详细图文教程(C#+EF)之Database First的更多相关文章
- EF三种编程方式详细图文教程(C#+EF)之Code First
Code First Code First模式我们称之为“代码优先”模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的 ...
- EF三种编程方式详细图文教程(C#+EF)之Model First
Model First Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在V ...
- EF三种编程方式图文详解
Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下 ...
- EF三种编程方式的区别Database first ,Model first ,code first
首先对于EF中先出现的datebase first和model first两种编程方式,其的区别根据字面意思很容易能够理解. datebase first就是代表数据库优先,那么前提就是先创建数据 ...
- Entity Framework 5.0系列之EF概览-三种编程方式
概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种 ...
- python_49_三种编程方式及面向过程与面向函数区别.py
''' 三种编程方式:1.面向对象 (类:class)2.面向过程 (过程:def)3.函数式编程(函数:def) 编程语言中函数的定义:函数是逻辑结构化和过程化的一种编程方法 过程与函数的区别,过程 ...
- 转 VMware虚拟机三种联网方式(图文详细解说)
原文地址https://blog.csdn.net/lucienduan/article/details/38233147 VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了V ...
- Linux下rpm、yum和源码三种安装方式详细介绍
第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...
- java 多线程编程三种实现方式
一种是继承Thread类,一种是实现Runable接口,还有一种是实现callable接口: 有博主说只有前面2种方式,我个人愚见是三种,主要详细介绍下callable的使用: 三种线程的我的个人理解 ...
随机推荐
- centos 6.5 配置ssh免登录
生成密匙: ssh-keygen -t rsa 会生成 id_rsa id_rsa.pub id_rsa:私匙 id_rsa.pub:公匙 配置当前机器免登录: cp id_rsa.pub auth ...
- hbase 单机版安装
1.安装jdk参见http://www.cnblogs.com/lvlv/p/4337863.html 安装路径:/usr/java/jdk1.7.0_79 2.下载hbase http://mi ...
- Vue 汇总
1.右键菜单(防止默认行为) @contextmenu.native.prevent="rightClick()"
- sim卡联系人name为空的问题。
1,之前的版本出现Bug:新建name为空的sim卡联系人,无法删除. 解决: 2,而后的版本出现新Bug:新建name不为空,Num不为空的sim卡联系人,然后编辑sim卡联系人,将Name清空,无 ...
- 2G内存编译android4.0
http://blog.csdn.net/leerobin83/article/details/7873229 1.Error occurred during initialization of VM ...
- mysql 批量杀进程
select concat('KILL ',id,';') from information_schema.processlist where user='root';
- 2018.11.30 bzoj3230: 相似子串(后缀数组)
传送门 后缀数组入门题. 建立正反两个后缀数组算就行了. 代码: #include<bits/stdc++.h> #define ri register int using namespa ...
- Tomcat架构解析(二)-----Connector、Tomcat启动过程以及Server的创建过程
Connector用于跟客户端建立连接,获取客户端的Socket,交由Container处理.需要解决的问题有监听.协议以及处理器映射等等. 一.Connector设计 Connector要实现的 ...
- Oracle数据库常用的sql语句
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...
- maven打包到私服,打的是war包,好郁闷
jenkins打完包上传到私服以后,发现只有war包,然而并木有别人想要的jar包,郁闷之极啊! 然后把公司的项目做了对比,发现这个正常的能上传jar包的项目的与我的另一个项目有点出入: 正常: 异 ...