`
sangei
  • 浏览: 329654 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

(转)EF对Model类的操作

    博客分类:
  • ORM
阅读更多

在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是ASP.NET MVC 应用程序中的"模型(Model)"。

您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类。Entity Framework(通常称为 EF) 是支持代码优先的开发模式。代码优先允许您通过编写简单的类来创建对象模型。(相对于"原始的CLR objects",这也被称为POCO 类)然后可以从您的类创建数据库,这是一个非常干净快速的开发工作流程。

添加模型类

解决方案资源管理器中,右键单击模型文件夹,选择添加,然后选择.

clip_image001

输入Class名 "Movie"。

将下列五个属性添加到Movie类:

复制代码
public class Movie 
{
     public int ID { get; set; }
     public string Title { get; set; }
     public DateTime ReleaseDate { get; set; }
     public string Genre { get; set; }
     public decimal Price { get; set; }

}
复制代码

 

我们将使用Movie类来表示数据库中的电影。Movie对象的每个实例将对应数据库表的一行, Movie类的每个属性将对应表的一列。

在同一文件中,添加下面的MovieDBContext类:

 public class MovieDBContext : DbContext 

{
     public DbSet<Movie> Movies { get; set; } 

}

 

MovieDBContext类代表Entity Framework的电影数据库类,这个类负责在数据库中获取,存储,更新,处理 Movie 类的实例。MovieDBContext继承自Entity Framework的 DbContext基类。

为了能够引用DbContextDbSet,您需要在文件的顶部添加以下using语句:

using System.Data.Entity;

下面显示了完整的Movie.cs文件。(一些不用的using语句已经被删除了)

复制代码
using System;

using System.Data.Entity;



namespace MvcMovie.Models

{
     public class Movie
     {
         public int ID { get; set; }
         public string Title { get; set; }        
         public DateTime ReleaseDate { get; set; }        
         public string Genre { get; set; }
         public decimal Price { get; set; }
     }


     public class MovieDBContext : DbContext
     {
         public DbSet<Movie> Movies { get; set; }
     }

}
复制代码

 

创建连接字符串并使用SQL Server LocalDB

您刚创建的MovieDBContext类用来连接数据库,并将Movie对象映射到数据库表记录。你可能会问一个问题,如何指定它将连接到那个数据库。通过在应用程序的Web.config文件中添加数据库连接信息来指定连接到那个数据库。

打开应用程序根目录的Web.config文件。(不是View文件夹下的Web.config文件。)打开红色高亮标记的Web.config文件。

clip_image002

Web.config文件中的<connectionStrings>内添加下面的连接字符串。

复制代码
<add name="MovieDBContext" 
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
    providerName="System.Data.SqlClient" 

/> 
复制代码

 

下面的例子里显示了部分Web.config文件中所新添加的连接字符串:

复制代码
<connectionStrings>
   <add name="DefaultConnection" 
        connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
        providerName="System.Data.SqlClient" 
   />    
   <add name="MovieDBContext" 
        connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
        providerName="System.Data.SqlClient" 
   /> 

</connectionStrings>
复制代码

 

为了表示和存储电影数据到数据库中,上面少量的代码和XML是你所需要的一切。

接下来,您将创建一个新的MoviesController类,您可以用它来​​展示电影数据,并允许用户创建新的影片列表。

分享到:
评论

相关推荐

    支持多数据库的ORM框架ef-orm.zip

    实际性能测试表明,EF的大部分操作都要快于Hiberante和MyBatis, 部分操作速度甚至数十倍于上述框架。 EF在极限插入模式下,甚至刷新了每秒10万条写入的记录。远远超过了其他框架。 一个初步的性能测试:测试代码...

    ASP.NET Entity Framework(EF)中基本增删改查的各种写法和详细说明

    对于数据访问的实现,无论是什么逻辑,简单还是复杂,无论是执行SQL语句还是调用存储过程都要用到ADO.NET技术,通过封装好的SQLhelper类传入SQL语句和SqlParameter参数来操作数据库,使用起来还是有点麻烦呐~~~ ...

    MVC_EF框架_Bootstrap示例

    MVC 4.0:CURD操作基于MVC Model Binder Silverlight 5:OA里组织图OrgChart拖拽操作 封装Context:封装ConfigContext,CacheContext,UserContext,CookieContext.. 上传控件:Uploadify使用实例 Jquery:除Metronic...

    ASP.NET MVC 4数据库操作

    EF框架的功能:专门用来对数据库里面的表进行增删改查。 在MVC中进行编程的整体思路如下: 1、编写模型类Model→2、编写控制器Controller→3、编写视图View 1、编写模型类Model 1)编写与数据库里面的表相映射的...

    一个简单MVC5 + EF6示例分享

    1.在EF (Entity Framework,以下简称EF6)框架下,操作数据的方式有三种:Database First, Model First, 以及 Code First,本文基于Code First创建。 2.本文是基于MVC5创建: 3.LocalDB LocalDB是SQL Server ...

    C#基于DBContext(EF)实现通用增删改查的REST方法实例

    我们用ADO.NET Entity Data Model来生成实体类后,一般都会对这些类进行基本的增删改查操作,如果每个类都要写这些基本的方法,实在太乏味了。下面就是通过step by step的方式介绍如何用DBContext来实现通用增删改查...

    ios-NSUserDefaults替代品:NSUserDefaultsModel(基于Runtime写的库).zip

    2.在.m文件当中对每一个属性进行@dynamic操作,意为setter与getter方法由类自己实现 3.如果想对属性设置默认值,那么需要重写setupDefaultValues方法,规则是@{@"属性的字符串": @"默认值"} 4.以“name”来说...

    Django model select的多种用法详解

    《Django model update的各种用法介绍》文章介绍了Django model的各种update操作,这篇文章就是她的姊妹篇,详细介绍Django model select的用法,配以对应MySQL的查询语句,理解起来更轻松。 基本操作 # 获取所有...

    ASP.NET MVC5利用EF,反向自动生成数据库

    1.在Model类里面,写好相应的属性。 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Data.Entity; 6 7 namespace MvcMovie.Models 8 { 9...

    Silverlight项目演示源码,Silverlight调用RIA Service实现数据增删查改

    简介:Silverght5,EF4.1,WCF RIA,代码优先CodeFrist 演示项目源码 系统分层:MODEL,BLL,DAL,IDAL,DALFactory,UI+Web 其中有两个子模板, 内部子模板1:用RIA Service、DomainDataSource,dataGrid演示分页、查询、数据...

    EntityFramework数据持久化 第三章 EF的基本使用

    3、EF支持“Code First”、“Model First”和“Database First”三种方式的“数据建模。 4、使用Database First模式建模的步骤: 1)添加“ADO.NET实体数据模型”。 2)选择“来自数据库的EF设计器”。 3)创

    将复杂的SQL查询refactor成model形式

    有时我们的数据库查询操作条件多且比较复杂,这时我们可以将query refactor成model形式。  比如我们想通过用户找到他在某些课时下的某些任务的某些时间点完成的作业我们如何做呢?  先创建一个model,user_...

    MVC项目结构搭建及单个类的实现学习笔记1

    Model:模型层,主要是各种类型、枚举以及ORM框架,框架完成数据库和实体类的映射。项目中选用了微软的开源ORM框架 EntityFramework 6.0 (以下简称EF),数据库则选择了微软的轻量级数据库SQL Server Compact 4.0...

    ODAC_EntityFramework安装手册

    Entity SQL类似SQL语言,它的存在是为了查询ADO.NET Entity Framework(EF),以用于支持Entity Data Model (EDM) 。EDM表示一组实体与关系(ER)的集合,映射到指定的数据源(可以是Oracle,MsSql 或其它类型的...

    DBcontext应用于已存在数据库

    EF4.1有三种方式来进行数据操作及持久化。分别是Database-First,Model-First,Code-first,前面都已经简单介绍过了.下面简单小结一下

    SwaggerAPI框架binder-swagger-java.zip

    所以,在发现现有框架都不能支持在 request/response 定义里使用动态model的时候,就出现了这个小框架。 Binder-swagger-java 的功能很简单,就是帮助构建 swagger.json 所对应的 swagger 对象,并让它可以...

    用于Caffe模型的深度学习工具箱导入器:用于导入预训练的Caffe模型的软件支持包-matlab开发

    该软件支持包提供了从Caffe( ... 数据文\u4ef6='digits_iter_10000.caffemodel'; 导入网络百分比净= importCaffeNetwork(原始文件,数据文件) 用法示例(importCaffeLayers): %指定要导入的文件protofile

    adb1.0.26包含fastboot.exe

    INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE 已安装 target SDK 支持运行时权限的同名应用,要安装的版本不支持运行时权限 INSTALL_PARSE_FAILED_NOT_APK 指定路径不是文件,或不是以 .apk 结尾 INSTALL_PARSE_...

    网络架构师148讲视频课程

    │ 第56节:Varnish对性能的提升和优化.avi │ 第57节:应用上Varnish后的体系结构.avi │ 第58节:Memcached入门和缓存的含义.avi │ 第59节:Memcached基本的工作原理.avi │ 第60节:Memcached基本的操作命令.avi...

Global site tag (gtag.js) - Google Analytics