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. 带圆角的EditText

    转载请注明出处:http://blog.csdn.net/krislight/article 1.定义一个Drawable <?xml version="1.0" encod ...

  2. Android软件开发之获取通讯录联系人信息

    Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来. 这一篇文章我主要带领同学们熟悉Android的通讯录机制. 图中选中 ...

  3. 【HDOJ】5096 ACM Rank

    Treap+set仿函数重定义.每当ac一道题目时,相当于对总时间减去一个大数. /* 5096 */ #include <iostream> #include <string> ...

  4. bzoj1458

    题做多的话不难想到可能是以行列作为二分图两个点集,然后网络流相关 具体怎么弄呢 我们可以用求补集的思想,假设有解 我们先把棋盘能放的地方放满士兵,然后我们尽量的把士兵拿走 并且要满足行和列的要求, 说 ...

  5. 一起啃PRML - 1.2.4 The Gaussian distribution 高斯分布 正态分布

    一起啃PRML - 1.2.4 The Gaussian distribution 高斯分布 正态分布 @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ ...

  6. IE浏览器下读取客户端上传的文件大小

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. (转载)Total Commander 常用快捷键(并附快捷键大全)

    (转载)http://blog.chinaunix.net/uid-532511-id-3051990.html Total Commander 常用快捷键 喜欢用Total Commander的人, ...

  8. struts2错误:The Struts dispatcher cannot be found.

    struts2错误:The Struts dispatcher cannot be found. The Struts dispatcher cannot be found. This is usua ...

  9. Windows游戏编程之从零开始d

    Windows游戏编程之从零开始d I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来 ...

  10. 点分治练习:不虚就是要AK

    [题面] 不虚就是要AK(czyak.c/.cpp/.pas) 2s 128M czy很火.因为又有人说他虚了.为了证明他不虚,他决定要在这次比赛AK. 现在他正在和别人玩一个游戏:在一棵树上随机取两 ...