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 Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释

    本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点 ...

  2. ChannelFactory.Endpoint 上的地址属性为空。ChannelFactory 的终结点必须指定一个有效的地址。

    主体代码如下 IServiceA proxyA; ChannelFactory<IServiceA> factoryA = new ChannelFactory<IServiceA& ...

  3. WCF Host中的BaseAddress 和 Endpoint中的Address的区别

    http://stackoverflow.com/questions/18720810/wcf-service-base-address-vs-endpoint-address baseAddress ...

  4. ActionBar 中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解

    setHomeButtonEnabled这个小于4.0版本的默认值为true的.但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击.没有向左的小图标. true 图标可以点击 ...

  5. Centos6.4 为用户添加sudo功能

    sudo即super user do,以超级管理员的方式运行命令.使用时,只需在命令最前面加上sudo即可. 要为用户添加sudo功能,需要修改sudo的配置文件: vi /etc/sudoers ( ...

  6. (转载)在mysql中,column 'id' in field list is ambiguous

    (转载)http://blog.chinaunix.net/uid-20665047-id-3137284.html column 'id' in field list is ambiguous 这个 ...

  7. Red and Black

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  8. [转]NHibernate之旅(3):探索查询之NHibernate查询语言(HQL)

    本节内容 NHibernate中的查询方法 NHibernate查询语言(HQL) 1.from子句 2.select子句 3.where子句 4.order by子句 5.group by子句 实例 ...

  9. HW4.24

    public class Solution { public static void main(String[] args) { double sum = 0; for(int i = 1; i &l ...

  10. 武汉Uber优步司机奖励政策(2月1日~2月7日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...