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. python3使用requests爬取新浪热门微博

    微博登录的实现代码来源:https://gist.github.com/mrluanma/3621775 相关环境 使用的python3.4,发现配置好环境后可以直接使用pip easy_instal ...

  2. 【HDOJ】3127 WHUgirls

    #include <stdio.h> #include <string.h> #define mymax(a, b) (a>b) ? a:b typedef struct ...

  3. Learning WCF Chapter2 WCF Contracts and Serialization

    So far I’ve talked about the standards behind it all,but in fact WCF hides most of this from the dev ...

  4. (转载)设计模式学习笔记(十一)——Facade外观模式

    (转载)http://www.cnblogs.com/kid-li/archive/2006/07/10/446904.html Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户 ...

  5. HDU-2550 百步穿杨

    百步穿杨 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  6. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...

  7. time.h

    目录 1简介 2代码示例 3从系统时钟获取时间方式 4time函数介绍 函数名称: localtime 函数名称: asctime 函数名称: ctime 函数名称: difftime 函数名称: g ...

  8. GCC基本知识

    掌握下面的对GCC会有一个比较清晰的大致的了解: 不经意间,GCC已发展到了4.3的版本,尽管在软件开发社区之外乏人闻问,但因为GCC在几乎所有开源软件和自由软件中都会用到,因此它的编译性能的涨落会直 ...

  9. mvn开发可执行的java程序

    1.  用maven-assembly-plugin插件 2. 在项目的pom文件中加入以下该插件的配置 <span style="font-size:18px;">& ...

  10. android-配置虚拟机Virtual device

    Android的应用程序是基于virtual device运行的,在运行一个android的应用程序之前先要配置要virtual device