Entity Framwork(实体框架,简称EF)是ORM(Object Relational Mapping,对象映射关系)的一个解决方案。

EF允许项目将数据库的表映射为实体,并封装了操作方法,方便开发人员直接操作数据库。

EF有三种开发模式,分别是:

Database First(数据库先行): 将已存在的数据库中的表映射为实体;

Code First(代码先行):先编写代码,再通过EF反向生成数据库的表;

Model First(模型先行):通过一个可视化模型,分别生成数据库和代码。

这里示例为Database First模式。

必备工具:Visual Studio 2013(.Net框架从3.5支持EF,因此VS版本应支持3.5以上的.Net框架。我使用的是13,实际上10也可以);

ODT开发工具(如果没有Oracle客户端必须要安装。示例数据库为11g,原本使用11g的ODT就可以了。但由于我使用的是Visual Studio 2013,ODT 11g没有支持Visual Studio 2013。后来我机智地想到用12C的ODT,安装时发现其支持Visual Studio 2013,而且兼容11g,问题迎刃而解)。地址:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html

搭建开发:

1. 新建一个WinForm项目,然后添加->新建项->ADO.NET 实体数据模型;

如果没有看到此选项,不要慌,看看项目的目标框架是不是3.5以上

2. 选择从数据库生成

3. 新建连接,如果数据源不是Oracle,点更改,选择Oracle。

4. 填写用户名和密码,可选择TNS和EZ连接两种方式。这里选用TNS,注意TNS文件的连接字符串应该准备好。

5.左下角可测试连接。连接成功后,如果有如下提示

检查【服务器资源管理器】里是否有同名的连接。如果有,使用已有即可无需新建连接,或者将旧的删除重新创建(改名也不行,不知是否有其他方法).

6.为安全起见,连接字符串中不要包含密码等敏感信息。在应用程序中,可将敏感信息加密写在配置文件,在使用时再加密。这样用户看得到配置文件,但无法得知敏感信息。

7. 选择要用到的表,视图和存储过程。完成后如下

8. 可以看到表已映射为实体。由于这几个表之间没有建立外键,而它们是关联的,所以可以为它们添加关联。注意,在项目中添加关联,并不会在数据库中新建外键,只是方便在项目中使用。

右键->新增->关联。注意不要创建外键,这样会产生新的属性。关联的键可以在创建关联后设置。

9. 由于没有添加外键属性,需要指定关联的键。双击关联,可设置。

10. 最终话

明天将继续简单演示代码操作

Entity Framework Demo(一) 简单搭建环境的更多相关文章

  1. ASP.NET Entity Framework with MySql服务器发布环境配置

    首先,.net应该自带Entity Framework,所以服务器只要有对应版本的.net Framework就OK! 我们在开发环境中一般会直接使用edmx来管理应用程序与数据库的交互操作,所有与数 ...

  2. 关于Entity Framework的概念及搭建

    什么是EF? ADO.NET Entity Framework 是一个对象-关系的映射架构. 它支持直接定义完全独立于数据库结构的实体类,并把它们映射到数据库的表和关系上. 三种编程模型: 数据库优先 ...

  3. MVC & Entity Framework(1)- 开发环境

    一直都有接触asp.net mvc,希望自己借此次机会把Blog搭起来的同时能够更深入地学习相关知识. ①新建 打开VS2012,新建ASP.Net MVC 4项目,接着选择“空”模板(因为不想用自带 ...

  4. 关于Entity Framework使用的简单例子

    一.创建Code First模型 1.创建工程,这里我使用的是以.NET 4.0为目标的实体Web应用程序 2.安装Entity Framework 确保已安装NuGet,选择NuGet套件管理员&g ...

  5. 什么是EF, 和 Entity Framework Demo简单构建一个良好的发展环境

     Entity Framwork(实体框架.缩写EF)这是ORM(Object Relational Mapping.对象映射关系)一个解决方案. EF的表映射为实体.并封装了操作方法.方便开发者 ...

  6. 在vc++上简单搭建环境(包括文件引用)

    1,triplet_head.h 文件 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVER_FLOW -2 ...

  7. 怎么搭建EF的环境?(Entity Framework)

    1.EF是什么? EF是.net封装的一个用于数据库交互的实体层框架,它的全称是Entity Framework. 2.EF搭建: 新建之后,我们就可以看到里面的内容: 我们可以分别看一下它里面有些什 ...

  8. Entity Framework 笔记(一)

    Entity Framework概述 EF是一个对象关系映射(ORM)框架,允许开发人员使用特定于域的对象关系型数据,开发人员通常不需要编写大量的数据访问代码.使用EF,开发者可以利用LINQ进行查询 ...

  9. ADO.NET Entity Framework -Code Fisrt 开篇(一)

    ADO.NET Entity Framework -Code Fisrt 开篇(一) 2012-12-25 15:13 by 易code, 911 阅读, 0 评论, 收藏, 编辑 ADO.NET E ...

随机推荐

  1. Android Training精要(二)開啟ActionBar的Overlay模式

    在3.0上的實現 <resources> <!-- the theme applied to the application or activity --> <style ...

  2. FishEye简介

    前言     在项目开发过程中,随着开发的进行,将有大量的代码编写提交到代码仓库,如何能全面准确的了解源代码的变化,提交的频率,代码量的趋势,发现代码的缺陷,将是控制源代码质量的重要指标,这个时候一个 ...

  3. word在线编辑\生成图片(包含截图与合并)

    1.业务原因 word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了.需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题. 2.首 ...

  4. Maven学习:常用mvn命令

    转自:http://blog.csdn.net/lfsfxy9/article/details/12200915 Maven 在线: <span style="font-family: ...

  5. JS思维导图

  6. Unity3d 模拟视锥的实现

    一个独立游戏 Teleglitch 使用了一种欺骗手法来模拟视锥,效果如下: 博主看了看了看提示 Actually, the line of sight shadows aren’t done wit ...

  7. Red5 项目的流事件回调流程和注意事项

    回调流程 参考:Red5的一般客户端连接各个事件的触发顺序,经验证实际过程如下: 程序开始(在RED5启动的时候会自动去启动APP,从而触发以上事件) Start:MyChatRoomappStart ...

  8. Hadoop-Map/Reduce之单表连接的实现

    MapReduce程序就是根据其特性对数据进行一个简单的逻辑处理,其中最为重要的一个特性就是根据key值将value值进行合并,其次就是在shuffle阶段有排序. 遇到一个MR程序就是要巧妙利用合并 ...

  9. Shell编程笔记

    Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理.   修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...

  10. Junit初体验

    JUnit是一个开源的Java单元测试框架,由 Erich Gamma 和 Kent Beck 开发完成. 主要是为了方便开发人员在自己开发的过程中能够及时的发现和解决bug用的,一方面自己可以通过单 ...