你的位置:首页 > ASP.net教程

[ASP.net教程]Entity Framework 的简单介绍与实例


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]