`
sangei
  • 浏览: 337265 次
  • 性别: 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类,您可以用它来​​展示电影数据,并允许用户创建新的影片列表。

分享到:
评论

相关推荐

    asp.net 中MVC和EF中的 Model First 和 Code First 理解demo

    MVC控制器可以使用EF来操作数据库,模型类可以直接映射到Code First的实体类,或者在Model First中,可以从数据库生成的模型类中获取数据。 在这个“EFtest”项目中,你可能会看到如何创建和配置DbContext类,这是...

    EF+MVC+三层(MVC +三层架构+EF对数据库对数据库进行增删改查小案例).zip

    它演示了如何利用Entity Framework(EF)、Model-View-Controller(MVC)架构以及三层架构来实现对数据库的CRUD(创建、读取、更新、删除)操作。以下是关于这些技术及其相互作用的详细解释。 1. Entity Framework ...

    VS使用EF操作Firebird所需软件.zip

    这包括添加对Firebird数据提供者的引用,配置数据库连接字符串,以及使用EF Code First或Model First方法创建数据库模型。 6. **Code First/Model First**: Code First允许开发者从类库开始,定义实体类并自动...

    JSON自动映射成Model

    JSON自动映射成Model是开发过程中常见的需求,尤其是在Android、iOS以及后端开发中,我们需要将接收到的JSON数据转化为可操作的对象模型,以便更好地处理数据。本篇将详细讲解这个过程,以及如何利用工具库高效地...

    使用EF对数据库进行增删改查操作(Console版本)

    在本项目"使用EF对数据库进行增删改查操作(Console版本)"中,我们将深入探讨如何在控制台应用中利用EF Core实现对SQL Server数据库的基础操作。 首先,`Program.cs`是整个Console应用程序的入口点,它包含了`Main`...

    MVC3+EF4.1框架

    MVC3(Model-View-Controller)和Entity Framework 4.1(简称EF4.1)是两个在Web开发领域广泛使用的框架,它们分别处理应用程序的结构设计和数据访问层。在这个主题中,我们将深入探讨这两个框架的核心概念、功能...

    MVC+三层架构+EF的增删改查操作(连接数据库的).rar

    通过EF,我们可以轻松地实现对数据库的增删改查(CRUD)操作。 控制器(Controller)处理来自用户的请求,并决定如何响应。它调用模型进行业务逻辑处理,然后将结果传递给视图进行展示。在ASP.NET MVC中,控制器类...

    ASP.Net Core MVC 使用EF操作MySQL数据库完整实例

    在`ConfigureServices`方法中,我们将添加对EF Core和MySQL数据库的支持。我们需要引用`Microsoft.EntityFrameworkCore`和`Pomelo.EntityFrameworkCore.MySql`库,然后使用`AddDbContext`方法注册`DbContext`类,这...

    EF动态表名 c# 读取不固定表

    在.NET开发中,Entity Framework(简称EF)是一个强大的对象关系映射(ORM)框架,它允许开发者使用C#等高级语言来操作数据库,而无需直接编写SQL语句。当你面对的数据库表名不是固定的,而是根据日期或其他条件动态...

    C#EFCore一对多资源案例

    在这个"C# EFCore一对多资源案例"中,我们将深入探讨如何在C#应用中实现一对多的关系模型,并通过EF Core进行数据操作。 首先,我们需要理解一对多关系的概念。在数据库设计中,一对多关系是指一个表(父表)中的...

    C#自动生成EF实体代码及实体Configuration代码

    Entity Framework(简称EF)是微软提供的一个对象关系映射(ORM)框架,它允许开发者以面向对象的方式来操作数据库,而无需关注底层的SQL语句。在C#中,使用EF可以极大地提高开发效率,因为它简化了数据库操作,使得...

    MVC EF 简单增删改查

    Entity Framework(EF)是一个ORM(对象关系映射)工具,允许开发者使用.NET类来操作数据库,而不是直接编写SQL语句。通过EF,模型可以直接操作数据库表,实现数据的增删改查。 2. **视图(View)**:视图是用户...

    net ef core 详细官方中文教程

    EF Core还支持多种编程模式,包括Code First、Model First和Database First,方便开发者根据自己的需求选择使用。 EF Core支持.NET实现包括: *** *** *** Core - UWP(通用Windows平台) 使用EF Core时,可以...

    EFModelFirst

    **EF ModelFirst 概述** Entity Framework (EF) 是 Microsoft 提供的一款...通过分析和学习这个示例,初学者可以更好地理解 EF ModelFirst 如何将数据模型转化为实际的数据库操作,从而为构建复杂的业务应用奠定基础。

    EF6多对多,一对多关系映射样例代码

    在实际开发中,`EF_DEMO`压缩包中的示例代码可能包含了这些关系的完整实现,包括数据库迁移、实体类、上下文类以及可能的CRUD操作。这些代码可以帮助你更好地理解如何在EF6中处理Oracle数据库的一对多和多对多关系。...

    MVC+EF框架搭建

    例如,可以定义一个`IRepository`接口,包含`Add`, `Delete`, `Update` 和 `GetAll`等方法,然后创建一个`EfRepository`类实现该接口,利用EF的DbContext进行数据库操作。在控制器中,通过依赖注入容器(如Unity或...

    EF DataFirst优先

    3. **LINQ与EF结合**:将LINQ与EF结合使用,开发者可以方便地在代码中直接对实体进行查询,而无需编写SQL语句。例如,可以通过LINQ表达式进行筛选、排序、分组等操作,这些操作会自动转换为对应的SQL语句执行。 4. ...

    EF教程.doc

    - **对象关系映射(O/R Mapping)**:EF通过将数据库中的表转换成.NET对象(如类),实现了对数据的操作无需直接编写SQL语句的功能,从而提高了开发效率。 - **集成于Visual Studio**:EF自Visual Studio 2008 ...

    基于EntityFramework(EF6)的实用控件

    在这个基于EF6的实用控件中,我们将深入探讨如何利用Model First方法进行数据库设计与操作。 Model First是一种开发策略,它首先从数据模型开始,然后自动生成数据库结构。这种方式让开发者能够专注于业务逻辑和...

    EF学习全套资料

    通过EF,我们可以直接操作实体类,而框架会自动将这些操作转化为相应的数据库操作,极大地提高了开发效率和代码的可读性。 **二、EF工作原理** EF的核心概念包括上下文(DbContext)、实体(Entities)、数据模型...

Global site tag (gtag.js) - Google Analytics