博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASPMVC+EF Database First开发
阅读量:3519 次
发布时间:2019-05-20

本文共 3479 字,大约阅读时间需要 11 分钟。

作为一种ORM,EF(Entity Framework) 从4.0版本开始就在MVC 应用,其开发模式有三种 Database First,Code First,Model First。比较而言,针对Sqlserver 数据库Database First方式的应用相对容易,针对Oracle数据库的Database First方式则有些复杂。

下面以VisioStudio 2013 为例,说明其用法

Sqlserver 数据库Database First

1,建立MVC工程;

2,在Model文件夹位置右键,点击“添加”-“新建项”菜单,出现“新建项”对话框。“新建项”对话框中选择“数据”,再选择“ADO NET 实体数据模型” 后,点击“添加”按钮

4,点击“下一步”

5,再点击“新建连接(C)...”按钮,出现“连接属性”对话框

如果在机器环境同时具有Oracle 与 Sqlserver情况下,默认情况下在“连接属性”对话框中,数据源显示为Oracle,若想连接Sqlserver 数据库对象,需要点击“更改(C)...”按钮

6,在“更改数据源”对话框中选择“Mircrosoft SQL Server” 数据源,点击“确定”按钮

7,更改数据源完成后,即可在对话框中选择“服务器名”,选择“SQL Server 身份验证”方式,输入用户名,密码并选择数据库后,点击“测试连接”按钮验证是否连接数据库,验证通过后,点击“确定”按钮

8,在接下来的“实体数据模型向导”对话框中,点击“是,在连接字符串中包含敏感数据。(I)”Radio 按钮,再点击“下一步”按钮

9,在接下来的“实体数据模型向导”对话框中,点击“下一步”按钮

10,在接下来的“实体数据模型向导”对话框中,选择相应的数据库对象,点击"完成"按钮即可生成对应的实体模型数据文件

11,在生成的Model 1数据模型中,主要包含 Model1.Context.cs(数据集合类)与User.cs(数据表类)两个文件

 其中  Model1.Context.cs 主要内容为

public partial class testEntities : DbContext    {        public testEntities()            : base("name=testEntities")        {        }            protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            throw new UnintentionalCodeFirstException();        }            public DbSet
User { get; set; } }

User.cs主要内容为

public partial class User    {        public string name { get; set; }        public Nullable
age { get; set; } public string Email { get; set; } public int worklevel { get; set; } }

12,以上操作已经完成了 Sqlserver 数据库 的EF Database First开发环境的搭建,需要在应用时只要类似如下形式输入action(另外,需要在相应的actin 文件中引用对应模板类)即可

public ActionResult demo()        {            testEntities te = new testEntities();            List
lsit = te.User.ToList(); return View(list); }

Oracle 数据库Database First

1,建立MVC工程;

2,在Vs2013 “解决方案资源管理器”中在相关工程文件名称上右键,点击“管理Nuget程序包”菜单,打开相关对话框

3,在保证联网正常情况下,在“管理Nuget程序包”对话框中搜索区域输入“oracle”,对出现ODP.Net Managed Driver 点击“安装”按钮

4,在Model文件夹位置右键,点击“添加”-“新建项”菜单,出现“新建项”对话框。“新建项”对话框中选择“数据”,再选择“ADO NET 实体数据模型” 后,点击“添加”按钮

5,点击“下一步”

6,再点击“新建连接(C)...”按钮,出现“连接属性”对话框

7,如果在机器环境同时具有Oracle 与 Sqlserver情况下,默认情况下在“连接属性”对话框中,数据源显示为Oracle,选输入用户名,密码并选择数据源名称后,点击“测试连接”按钮验证是否连接数据库,验证通过后,点击“确定”按钮

8,在接下来的“实体数据模型向导”对话框中,点击“是,在连接字符串中包含敏感数据。(I)”Radio 按钮,再点击“下一步”按钮

9,在接下来的“实体数据模型向导”对话框中,点击“下一步”按钮

10,在接下来的“实体数据模型向导”对话框中,选择相应的数据库对象,点击"完成"按钮即可生成对应的实体模型数据文件

在生成的Model 1数据模型中,主要包含 Model1.Context.cs(数据集合类)与ORAUSERS.cs(数据表类)两个文件

 其中  Model1.Context.cs 主要内容为

    public partial class Entities : DbContext    {        public Entities()            : base("name=Entities")        {        }            protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            throw new UnintentionalCodeFirstException();        }            public DbSet
ORAUSERS { get; set; }    }
ORAUSERS.cs主要内容为

    public partial class ORAUSERS    {        public string USERNAME { get; set; }        public Nullable
AGE { get; set; }        public string EMAIL { get; set; }        public Nullable
USERLEVEL { get; set; }    }
 

12,查看web.config ,主要oracle数据源的匹配

其中connectionStrings节中指向的data source= 内容与dataSource 节中的dataSource alias= 内容一致,如本例都为ORCL

13,以上操作已经完成了 Sqlserver 数据库 的EF Database First开发环境的搭建,需要在应用时只要类似如下形式输入action(另外,需要在相应的actin 文件中引用对应模板类)即可

public ActionResult demo()        {            Entities te = new Entities();            List
list = te.ORAUSERS.ToList(); return View(list); }

你可能感兴趣的文章
[LeetCode javaScript] 107. 二叉树的层次遍历 II
查看>>
[LeetCode javaScript] 637. 二叉树的层平均值
查看>>
[LeetCode javaScript] 1. 两数之和
查看>>
[LeetCode javaScript] 14. 最长公共前缀
查看>>
[LeetCode javaScript] 26. 删除排序数组中的重复项
查看>>
[LeetCode javaScript] 8. 字符串转换整数 (atoi)
查看>>
[LeetCode javaScript] 28. 实现strStr()
查看>>
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:25
查看>>
前端网页学习7(css背景属性)
查看>>
前端网页学习8(css三大特性:层叠性,继承性,优先级)
查看>>
前端网页学习9(css盒子)
查看>>
python学习8(列表)
查看>>
JavaScript学习(new1)
查看>>
http GET 和 POST 请求的优缺点、区别以及误区
查看>>
JVM的4种垃圾回收算法、垃圾回收机制
查看>>
什么是分布式事务
查看>>
常用的分布式事务解决方案
查看>>
设计模式:单例模式 (关于饿汉式和懒汉式)
查看>>
一致性Hash算法
查看>>
更新Navicat Premium 后打开数据库出现1146 - Table 'performance_schema.session_variables' doesn't exist
查看>>