ASPMVC+EF Database First开发

8 篇文章 1 订阅

作为一种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> User { get; set; }
    }

User.cs主要内容为

    public partial class User
    {
        public string name { get; set; }
        public Nullable<int> 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<User> 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> ORAUSERS { get; set; }
    }
ORAUSERS.cs主要内容为

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

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

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

  <connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="data source=ORCL;password=test;user id=TEST"" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <oracle.manageddataaccess.client>
    <version number="*">
      <dataSources>
        <dataSource alias="ORCL" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
      </dataSources>
    </version>
  </oracle.manageddataaccess.client>


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

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


      <dataSources>
        <dataSource alias="ORCL" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
      </dataSources>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ASP.NET MVC是一种基于ASP.NET的Web应用程序框架,它使用模型-视图-控制器(MVC)模式来构建Web应用程序。EF(Entity Framework)是一种ORM(对象关系映射)框架,它可以将数据库中的数据映射到.NET对象中。增删改查是指对数据库中的数据进行增加、删除、修改和查询操作。在ASP.NET MVC中,可以使用EF来进行数据库操作,实现增删改查功能。 ### 回答2: ASP.NET MVC 和 EF 是一对强力的开发工具,可以面向对象地开发 Web 应用程序。他们使用的是基于现代软件工程原则的模型-视图控制器模式,也就是MVC。这种模式不仅分离了应用程序的三个核心方面,即用户界面、数据业务逻辑和用户数据,而且还允许多个团队在不干涉彼此的情况下同时开发应用程序。 对于ASP.NET MVC来说,它是一种Web应用程序开发框架,适用于开发具有复杂功能和交互需要的动态Web应用程序。在ASP.NET MVC中,模型-视图-控制器(MVC)模式被广泛使用,以将Web应用程序拆分为三个核心部分:控制器,模型和视图。控制器作为请求接收者,负责处理请求并将响应发送回客户端;视图则负责呈现应用程序的用户界面;而模型则负责管理和检索应用程序的状态和数据。 对于EF来说,它是一种ORM对象关系映射工具,可自动将.NET对象映射为关系数据库中的表、视图和存储过程。使用EF,我们可以通过一个简单的API访问数据库,而不需要复杂的SQL语句。EF支持各种数据库,包括Microsoft SQL Server,Oracle,MySQL和SQLite等。 对于ASP.NET MVC和EF的增删改查,我们可以通过以下步骤来实现: 1. 建立数据库连接 在使用EF进行增删改查之前,我们需要建立数据库连接。在ASP.NET MVC中,我们可以在Web.config文件中配置连接字符串,指定数据库的位置和访问凭据。 2. 创建模型 我们需要创建一个类来定义模型。该类应该包含与数据库表中的列对应的属性。这些属性名称和数据类型应该与数据库中的列对应,以便我们可以将数据从一个位置传递到另一个位置。 3. 创建数据库上下文 我们需要创建一个EF数据库上下文,该上下文负责管理数据库连接和数据操作。我们可以在该上下文中创建插入、更新、删除和查询方法。 4. 插入数据 我们可以通过在数据库上下文中创建一个新对象并将其添加到数据库上下文中来插入数据。保存更改后,这些更改将通过EF发送到数据库。 5. 更新数据 要更新数据,我们可以在数据库上下文中查询现有对象,并更改其属性。一旦更改完成,我们可以保存更改并将更改提交到数据库。 6. 删除数据 要删除数据,我们可以在数据库上下文中查询现有对象,并调用删除操作。一旦删除完成,我们可以保存更改并将更改提交到数据库。 7. 查询数据 要查询数据,我们可以使用数据库上下文来执行LINQ查询。LINQ查询可用于检索数据,并通过视图将数据呈现给用户。 综上所述,我们可以看出ASP.NET MVC和EF是一对非常强大的应用程序开发工具,可以帮助我们构建复杂的Web应用程序,并为我们提供了一种简单而直观的方法来管理数据库操作。在项目中应用它们,可以极大地提高我们的开发效率,提高生产力。 ### 回答3: ASP.NET MVC是一种基于模型-视图-控制器(Model-View-Controller, MVC)架构设计的Web应用程序框架。该框架使用MVC设计模式,将应用程序分为几个不同的组件,这些组件分别处理不同方面的应用程序逻辑。 Entity Framework(EF)是一种对象关系映射(Object-Relational Mapping, ORM)框架,用于将数据库中的表格数据映射到.NET对象中。它允许开发人员通过使用.NET语言(如C#和VB.NET)来编写应用程序,而不必直接处理SQL代码。 在ASP.NET MVC应用程序中使用EF可以简化数据访问层的开发过程,并为应用程序提供数据持久化解决方案。下面将介绍如何在ASP.NET MVC中完成增删改查方法: 增加数据: 应用程序需要将表格的数据添加到数据库,可以通过以下几个步骤来完成添加数据的方法: 1、在模型中定义一个实体,该实体将表示您要添加到表中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中创建一个新的实体,将数据从请求参数分配给该实体的属性。 4、将新实体添加到EF上下文并保存更改。 删除数据: 应用程序需要从一个表中删除数据,可以通过以下几个步骤来完成删除数据的方法: 1、在控制器中创建一个方法,该方法接受一个参数,该参数是表格中的数据的唯一标识符。 2、在方法中使用EF查找需要删除的实体,并从 EF上下文中删除实体。 3、将更改保存到数据库。 更新数据: 应用程序需要更新表格中的数据,可以通过以下几个步骤来完成更新数据的方法: 1、在模型中定义一个实体,该实体将表示您要更新表格中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中使用EF查找需要更新的实体。 4、将传入的实体的属性复制到EF中查找到的实体中。 5、将更改保存到数据库。 查询数据: 应用程序需要从一个表中检索数据,可以通过以下几个步骤来完成查询数据的方法: 1、在控制器中创建一个方法,该方法将返回从数据库检索到的实体。 2、在方法中使用EF执行一个查询,以从表中检索数据。 3、返回从DB检索到的实体。 综上所述,使用ASP.NET MVC和EF可以轻松地完成最常用的数据库操作,增加、删除、修改和查询数据。此外,这些操作的执行效率也很高,可以为开发者节省大量的时间和精力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mystonelxj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值