1、下载与引用

a) 首先需要下载一个oracle clinent 12c 发行版(我这边下载的是发行版)并进行安装,下载内容如下图

B) 创建一个项目,通过Nuget引用  添加ODP.NET   如图

2、创建数据库

  对于oracle是数据库的创建,在这里就不介绍了。略

3、对创建好的数据库进行EF引用,并让其生成对应的model文件。

a) 首先添加一个ADO.NET实体数据模型,如图

B) 修改好相对应的类的名字(该类自动继承与DBContext类),点击添加,选择【来自数据库的code first】 如图

C) 配置一个oracle的数据库连接  (如在数据源选择没有oracle选项,则你的oracle client 12c 未安装成功)   如图

D)选择好相应的数据库连接后,点击下一步,会出现一个实体数据库模型向导,如图

在这个过程中,也许会碰到一个问题,会提示你如下错误:

在网上查找了相关的原因,也无法解决。  我的处理方式是运行了下该项目,再次重复以上添加ADO.NET实体模型的步骤,就不会出现此错误。具体原因我还无法解释。

E) 接下来是选择相对应的表,生成对应的实体类与映射。

在此期间,我会出现一个问题,如果我未选择全部表,点击完成时,并未生成相对应的实体类与映射,如果我选择全部表,就可以生成。 如图

(红色的为实体类,蓝色的为映射关系)

Model1.cs类如下

实体类 xiaoheis.cs 如下

4、增删改查

A)首先我们先查询下 TESTs这张表总共有几条数据  代码如下

运行结果:(由于我之前在表中就有数据,所以显示结果为条数,如果没有添加过的结果应该是0)

B) 对于表TESTs 进行添加数据,然后再进行查询,是否条数有变化,代码如下

测试结果如图:

可以看到结果,明显是加了一条数据。说明添加是成功的。其他的一些方法,就不做说明了。

EF学习与介绍

1、下载与引用

a) 首先需要下载一个oracle clinent 12c 发行版(我这边下载的是发行版)并进行安装,下载内容如下图

B) 创建一个项目,通过Nuget引用  添加ODP.NET   如图

2、创建数据库

对于oracle是数据库的创建,在这里就不介绍了。略

3、对创建好的数据库进行EF引用,并让其生成对应的model文件。

a) 首先添加一个ADO.NET实体数据模型,如图

B) 修改好相对应的类的名字(该类自动继承与DBContext类),点击添加,选择【来自数据库的code first】 如图

C) 配置一个oracle的数据库连接  (如在数据源选择没有oracle选项,则你的oracle client 12c 未安装成功)   如图

D)选择好相应的数据库连接后,点击下一步,会出现一个实体数据库模型向导,如图

在这个过程中,也许会碰到一个问题,会提示你如下错误:

在网上查找了相关的原因,也无法解决。  我的处理方式是运行了下该项目,再次重复以上添加ADO.NET实体模型的步骤,就不会出现此错误。具体原因我还无法解释。

E) 接下来是选择相对应的表,生成对应的实体类与映射。

在此期间,我会出现一个问题,如果我未选择全部表,点击完成时,并未生成相对应的实体类与映射,如果我选择全部表,就可以生成。 如图

  (红色的为实体类,蓝色的为映射关系)

Model1.cs类如下

实体类 xiaoheis.cs 如下

4、增删改查

A)首先我们先查询下 TESTs这张表总共有几条数据  代码如下

运行结果:(由于我之前在表中就有数据,所以显示结果为条数,如果没有添加过的结果应该是0)

B) 对于表TESTs 进行添加数据,然后再进行查询,是否条数有变化,代码如下

测试结果如图:

可以看到结果,明显是加了一条数据。说明添加是成功的。其他的一些方法,就不做说明了。

注释类型名称

注释作用

备注

[Key]

主键

[Required]

必须键

Required 特性将使被映射的属性不可为空来影响生成的数据库

[MaxLength]

最大长度

[MinLength]

最小长度

[NotMapped]

不映射到数据库的属性

[ComplexType]

在子表model中设定

[ConcurrencyCheck]

标记要在用户编辑或删除实体时用于在数据库中进行并发检查的一个或多个属性

[TimeStamp]

[Table("表名",Schema="用户名")]

映射指定表名与用户名

[Column("列名",TypeName = "字段类型")]

用来指定被映射列的特性

[ForeignKey]

外键

[InverseProperty]

[DatabaseGenerated]

Entity Framework 的简单介绍与实例的更多相关文章

  1. Linux守护进程简单介绍和实例具体解释

    Linux守护进程简单介绍和实例具体解释 简单介绍 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程. ...

  2. Tstrings类简单介绍及实例

    用TStrings保存文件;var  S: TStrings;begin  S := TStringList.Create();  { ... }  S.SaveToFile('config.txt' ...

  3. N-Tier Entity Framework开源项目介绍

               N-Tier Entity Framework是一个基于微软Entity Framework的N层.NET解决方案. 并且与以下这此技术点无缝集成了: § WCF RIA Ser ...

  4. Entity Framework 6.x介绍

    一.简介 Entity Framework是一个ORM框架,可以在SQL Server,Oracle,DB2,MySQL等数据库上使用.其发展到现在已经到6.x版本了,同时该版本也是被官方所推荐使用. ...

  5. Dubbo简单介绍及实例

    1.概念 Dubbo是一个分布式服务框架,以及阿里巴巴内部的SOA服务化治理方案的核心框架.其功能主要包含:高性能NIO通讯及多协议集成.服务动态寻址与路由.软负载均衡与容错,依赖分析与降级等. 说通 ...

  6. Solr之NamedList 简单介绍与实例解析

    大家都知道,Solr是一个基于Lucene高可配置的搜索服务器,大部分参数值以及相关优化等等都可以在solrconfig.xml中配置,那么就需要一个能够很快的进行解析和读取配置文件内容的数据结构,为 ...

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

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

  8. (八十七)AutoLayout的简单介绍与实例

    AutoLayout是继AutoResizing之后的一种自己主动布局方法.攻克了AutoResizing无法处理控件间相互关系的问题. AutoLayout在storyboard中通过底部工具条设置 ...

  9. Entity Framework 中的in操作实例

    var listimportDataEOIResoults = importDataEOIResoults.Select(i => i.ProductSelectionId).ToList(); ...

随机推荐

  1. as3commons-bytecode 获取所有类的一个BUG

    下载了这个swc,号称可以反射出所有加载的类.已经用在了spring. 可是一运行就报错,说bytearray.uncompress出错.操. 下载整个源码,单独加载as3commons-byteco ...

  2. swift tableview的分割线不能到头

    1,设置tableview的separatorInset, layoutMargins if(myTableView.respondsToSelector("setSeparatorInse ...

  3. Oracle函数脚本记录

    --内置函数 --聚合函数 返回单个值 '; --count()记录条数 select sum(degree) from score t; --sum(degree)求成绩总和 select avg( ...

  4. loadrunner协议选择

    协议选择参考: 应用类型 协议选择 web网站 http/HTML FTP服务器 FTP 邮件服务器 IMAP\POP3\SMTP CS:客户端以ADO,OLEDB方法连接后台数据库 MS SQLSe ...

  5. CSS3妙用

    scaleX的妙用 案例1 效果: HTML: <a href="javascript:;">我有下划线噢</a> CSS: a{ text-decorat ...

  6. Aspect Oriented Programming

    AOP(Aspect Oriented Programming),面向切面编程(也叫面向方面)是目前软件开发中的一个热点.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度 ...

  7. javascript运算符——算术运算符

    × 目录 [1]一元加 [2]一元减 [3]递增[4]递减[5]加法[6]减法[7]乘法[8]除法[9]求余 前面的话 javascript中的算术操作主要通过算术运算符来实现,本文将介绍算术运算符的 ...

  8. structs2之多文件上传

    //首先是Action部分import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; i ...

  9. 反质数问题,求不大于n的最大反质数

    反质数:设f(n)表示n个约数的个数,如果对于任意x有0<x<n, f(x) < f(n),那么n就是一个反质数 我们都知道对于任意一个数n,都可以用质数乘积的形式表示出来:x = ...

  10. SQLExecption:Operation not allowed after ResultSet closed解决办法

    原网址:http://blog.csdn.net/sku0923/article/details/1722370 一个stmt多个rs进行操作引起的ResultSet已经关闭错误 一个stmt多个rs ...