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. 如何应用Font Awesome矢量字体图标

    Font Awesome 是一套专门为 Twitter Boostrap 设计的图标字体库.这套图标字体集几乎囊括了网页中可能用到的所有图标,除了包括 Twitter Boostrap 的默认图标外, ...

  2. ci框架里rewrite示例

    ci里新建应用app,入口文件app.php. Nginx 这里附上vhost配置 app.52fhy.com.conf server { listen 80; server_name app.52f ...

  3. qqzoneQQ空间漏洞扫描器的设计attilax总结

    qqzoneQQ空间漏洞扫描器的设计attilax总结 1.1. 获取对方qq(第三方,以及其他机制)1 1.2. QQ空间的html流程1 1.3. 判断是否有权限1 1.4. 2015年度Web服 ...

  4. salesforce 零基础学习(二十九)Record Types简单介绍

    在项目中我们可能会遇见这种情况,不同的Profile拥有不同的页面,页面中的PickList标签可能显示不同的值.这个时候,使用Record Types可以很便捷的搞定需求. Record Types ...

  5. django创建项目

    django创建项目 安装django pip install django==1.9 Note: C:\Python34\Scripts\pip.exe 创建项目 django-admin star ...

  6. Change Git Default Editor in Windows

    On 32 bit Win OS: git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' - ...

  7. 关于js中sort()排序方法

    第一次写这个,算是记录自己的学习前端的一点点的历程吧.今天在做一个图片的随机排序遇到了一个问题,部分截图如下 我用的是json格式存储数组,想通过排序实现img数组中的内容升序或是降序发现用sort自 ...

  8. MySQL(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...

  9. OpenCascade Matrix

    OpenCascade Matrix eryar@163.com 摘要Abstract:本文对矩阵作简要介绍,并结合代码说明OpenCascade矩阵计算类的使用方法. 关键字Key Words:Op ...

  10. java中匿名类的注意细节

    abstract class Outer{ int num; public Outer(int x){ num = x; } public abstract void show1(); public ...