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动画的性能

    曾有许多人问我为什么在他们开发的应用中,动画的性能表现都很差.对于这类问题,我往往会问他们:你们有尝试过在硬件层解决动画的性能问题么? 我们都知道,在播放动画的过程中View在每一帧动画的显示时重绘自 ...

  2. 【转】 Android SDK无法更新解决方法---不错

    原文网址:http://blog.csdn.net/shi_weihappy/article/details/41847997 自己的修改: 203.208.39.238 dl.google.com7 ...

  3. 如何避免jQuery库和其他库的冲突

    默认情形:jQuery用$作为自身的快捷方式 1. jQuery库在其他库之后导入 (1)方法:使用jQuery.noConflict()函数将变量$的控制权转移给其他库 (2)操作: (a)在js代 ...

  4. 进军es6(1)---初识es6

    es6,全称ECMAScript6(又名es2015).何为ECMAScript?我们常说的Javascript和它又有什么联系呢? 阮一峰老师有一句话描述的比较准确:“ECMAScript是Java ...

  5. Java web.xml加载顺序

     web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点:   <listener></listener&g ...

  6. 使用aespython进行ECB加解密示例

    CBC示例: from aespython import cbc_mode, key_expander, aes_cipher key = 'MluJMEZegVmrnWDaBiG1j7lqpkxNH ...

  7. Cocoa深入学习:NSOperationQueue、NSRunLoop和线程安全

    http://blog.cnbluebox.com/blog/2014/07/01/cocoashen-ru-xue-xi-nsoperationqueuehe-nsoperationyuan-li- ...

  8. [学习笔记]设计模式之Factory Method

    写在前面 为方便读者,本文已添加至索引: 设计模式 魔法手札索引 在上篇笔记Abstract Factory设计模式中,时の魔导士创建了一系列的FoodFactory,并教会了其中一名霍比特人theC ...

  9. HTML头部<head>学习

    元素是所有头部元素的容器. 元素包含了所有的头部标签元素.在 元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息. 以下标签都可以添加到 head 部分: 1.title ...

  10. sublime中安装sublimelinter php 语法检查

    打开控制台,install package 搜 sublimelinter 先安装sublimelinter本体 安装完以后再搜索一下,安装sublimelinter-php 接下来,打开prefer ...