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的更多相关文章

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

    Code First Code First模式我们称之为“代码优先”模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的 ...

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

    Model First Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在V ...

  3. EF三种编程方式图文详解

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

  4. EF三种编程方式的区别Database first ,Model first ,code first

    首先对于EF中先出现的datebase  first和model first两种编程方式,其的区别根据字面意思很容易能够理解. datebase  first就是代表数据库优先,那么前提就是先创建数据 ...

  5. Entity Framework 5.0系列之EF概览-三种编程方式

    概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种 ...

  6. python_49_三种编程方式及面向过程与面向函数区别.py

    ''' 三种编程方式:1.面向对象 (类:class)2.面向过程 (过程:def)3.函数式编程(函数:def) 编程语言中函数的定义:函数是逻辑结构化和过程化的一种编程方法 过程与函数的区别,过程 ...

  7. 转 VMware虚拟机三种联网方式(图文详细解说)

    原文地址https://blog.csdn.net/lucienduan/article/details/38233147 VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了V ...

  8. Linux下rpm、yum和源码三种安装方式详细介绍

    第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...

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

    一种是继承Thread类,一种是实现Runable接口,还有一种是实现callable接口: 有博主说只有前面2种方式,我个人愚见是三种,主要详细介绍下callable的使用: 三种线程的我的个人理解 ...

随机推荐

  1. Axure学习(一)

    了解Axure目前的一些评价信息以及可以学习Axure的网址.

  2. base64编码是什么

    首先明确一点base64 是一种编码格式.就想utf-8一样,能在电脑上表示所有字符,或者换句话说通过编码能让电脑理解你想要标识的字符(因为电脑只知道0和1 ) 就像ascII 中 0100 0001

  3. 跟我学Spring Boot(一)创建Spring Boot 项目

    本人开发环境为idea15.02 + jdk8 步骤1: 步骤2: 步骤3: 步骤4: 步骤5: 相关目录介绍: resources/static:这里主要存放一些资源文件 例如 css.js.ima ...

  4. idea maven 创建webapp项目没有src目录

    archetypeCatalog=internal

  5. [C#.net]WinForm载入窗体完成后自动执行事件

    一.以下是网络上可搜索到的次序 当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:        System.Windows.Forms.Control.Handle ...

  6. 解决SecureCRT超时自动断开的问题

    http://blog.csdn.net/hcwzq/article/details/7944941. http://discuzx.sinaapp.com/mediawiki-chapter.htm ...

  7. 2018.12.15 codeforces 920F. SUM and REPLACE(线段树)

    传送门 线段树入门题. 给你一个序列:支持区间修改成自己的约数个数,区间求和. 实际上跟区间开方一个道理. 2的约数个数为2,1的约数个数为1,因此只要区间的最大值小于3就不用修改否则就暴力修改. 因 ...

  8. php多表查询数据合并,避免foreach循环嵌套

    $memberList = $member->getMemberList(); $members = []; if (is_array($memberList)) { foreach ($mem ...

  9. tomcat7 安装 windows 服务

    tomcat 可以安装成windows 服务,这样 每次启动就不需要启动tomcat了. 具体配置: 1.修改 service.bat 在行首添加 set "JAVA_HOME=E:\jdk ...

  10. lambda表达式,变量作用域

    # lambda表达式 def filter_lt(predidcate,lt): result=[] for elem in lt: if predidcate(elem): result.appe ...