本文共 3479 字,大约阅读时间需要 11 分钟。
作为一种ORM,EF(Entity Framework) 从4.0版本开始就在MVC 应用,其开发模式有三种 Database First,Code First,Model First。比较而言,针对Sqlserver 数据库Database First方式的应用相对容易,针对Oracle数据库的Database First方式则有些复杂。
下面以VisioStudio 2013 为例,说明其用法
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 DbSetUser { 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(); Listlsit = te.User.ToList(); return View(list); }
1,建立MVC工程;
2,在Vs2013 “解决方案资源管理器”中在相关工程文件名称上右键,点击“管理Nuget程序包”菜单,打开相关对话框
3,在保证联网正常情况下,在“管理Nuget程序包”对话框中搜索区域输入“oracle”,对出现ODP.Net Managed Driver 点击“安装”按钮
4,在Model文件夹位置右键,点击“添加”-“新建项”菜单,出现“新建项”对话框。“新建项”对话框中选择“数据”,再选择“ADO NET 实体数据模型” 后,点击“添加”按钮
5,点击“下一步”
6,再点击“新建连接(C)...”按钮,出现“连接属性”对话框
7,如果在机器环境同时具有Oracle 与 Sqlserver情况下,默认情况下在“连接属性”对话框中,数据源显示为Oracle,选输入用户名,密码并选择数据源名称后,点击“测试连接”按钮验证是否连接数据库,验证通过后,点击“确定”按钮
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 DbSetORAUSERS.cs主要内容为ORAUSERS { get; set; } }
public partial class ORAUSERS { public string USERNAME { get; set; } public NullableAGE { 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(); Listlist = te.ORAUSERS.ToList(); return View(list); }