Asp.Net MVC4入门指南(4):添加一个模型-阿里云开发者社区

开发者社区> powertoolsteam> 正文

Asp.Net MVC4入门指南(4):添加一个模型

简介: 在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是ASP.NET MVC 应用程序中的"模型(Model)"。 您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类。
+关注继续查看

在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是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类,您可以用它来​​展示电影数据,并允许用户创建新的影片列表。

有了本节如何在MVC中添加模型知识的学习,大家是不是也跃跃欲试想要开始MVC的开发?开发时还可以借助一些开发工具助力开发过程。ComponentOne Studio ASP.NET MVC 是一款轻量级控件,它与Visual Studio无缝集成,完全与MVC6和ASP.NET 5.0兼容,将大幅提高开发效率。

完整文档下载:Asp.Net MVC4入门指南.pdf

--------------------------------------------------------------------------------------------------------------------

译者注:

本系列共9篇文章,翻译自Asp.Net MVC4 官方教程,由于本系列文章言简意赅,篇幅适中,从一个示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门Asp.Net MVC4,并由此开始开发工作。9篇文章为:

1. Asp.Net MVC4 入门介绍

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html

2. 添加一个控制器

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html

3. 添加一个视图

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html

4. 添加一个模型

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/12/17/2821495.html

5. 从控制器访问数据模型

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/01/11/2855935.html

6. 验证编辑方法和编辑视图

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/01/24/2874622.html

7. 给电影表和模型添加新字段

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/02/26/2933105.html

8. 给数据模型添加校验器

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/03/05/2944030.html 

9. 查询详细信息和删除记录

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods

· 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/03/07/2948000.html

10.第三方控件Studio for ASP.NET Wijmo MVC4 工具应用 

· 地址:http://www.cnblogs.com/powertoolsteam/archive/2013/05/09/3068699.html

 

相关阅读:

微软 Build 2017 开发者大会:Azure 与 AI 的快速发展

是什么让C#成为最值得学习的编程语言

从Visual Studio看微软20年技术变迁

C#开发人员应该知道的13件事情

Visual Studio 2017正式版发布全纪录

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
万字长文:自底向上剖析boltdb数据库源码(下)
  作者:jaydenwen,腾讯PCG后台开发工程师   本篇(下)介绍3.3-6内容,前文请移步(上)篇:万字长文:自底向上剖析boltdb数据库源码(上)   3.3 node节点的相关操作   在开始分析node节点之前,我们先看一下官方对node节点的描述
4 0
文字干货:Java认证授权框架Spring Security介绍
  Spring Security 是一个非常强大的身份验证和授权控制框架。为了满足企业项目的不同需求,它提供了很多定制化开发的解决方案,通过简单的调整配置,就能为我们的应用提供一套可靠的安全保障。   系统安全和系统保护设计   在实际开发过程中,为了保证我们的系统能够安全稳定地运行下去,一般都要从下面两点来考虑:   系统安全性:防止非法入侵、非法请求、非法拦截等。我们需要阻止和屏蔽不信任的请求源访问,保证数据的安全可靠,不被人窃取。   系统健壮性:也就是系统可用性,最常见的解决方案就是做服务 “冗余”。当然量级够大的话,要做的事情会很多很多,比如限流、熔断、降级等等。
3 0
数据库漏洞安全防护技巧
  数据库漏洞的存在有多种方式,由于每一个现实的场景由多维组合而成,因此数据库漏洞对应也可以从不同角度归类划分。这种分类将更有利于我们掌握对每种漏洞的防护技术。   数据库安全实验室主要从以下九个角度对数据库漏洞进行分类介绍:   1.从漏洞作用范围划分   远程漏洞:攻击者可以利用并直接通过网络发起对数据库攻击的漏洞。这类漏洞危害极大,攻击者能随心所欲的通过此漏洞危害网络上可辨识的数据库。此类漏洞为黑客利用漏洞的主力。
4 0
全网首发:WINDOWS某些文件夹,提供管理员权限后也无法删除,正确解决办法
全网首发:WINDOWS某些文件夹,提供管理员权限后也无法删除,正确解决办法
5 0
零基础入门Serverless:Todo List应用创建(体验函数计算抽盲盒,1500等领)
今年天猫双十一,阿里云Serverless支撑业务场景更多,范围更广。越来越多企业和开发者正在尝试使用Serverless,而Serverless开发者工具无疑是加速Serverless快速落地的利器。 这一次,我们基于阿里云函数计算+Serverless开发者工具Serverless Devs打造场景,让你用“一行代码” 极速进入Serverless的世界。
4 0
项目重构,我是如何优化大量屎一样的 if else 代码的?
  目录:   if else策略模式1、首先抽象业务处理器2、将业务处理器和其支持处理的类型放到一个容器中,java里Map就是最常用的容器之一3、定义不同的处理器4、测试类   前段时间,我将公司系统中的批量审单的功能进行了重构,用到了java的并发编程进行异步化处理,数据库的乐观锁机制处理多线程并发更新数据。   其中批量审单的业务处理涉及到多种任务类型,对应不同的业务方法进行处理,比如转仓,转快递,添加赠品,删除赠品,拆分订单,批量驳回,批量作废等等,其中就用到了策略模式。
3 0
GVRP、VCMP、VTP、DTP——全网最完整的总结
本文主要了解和学习华为私有协议GVRP、VCMP与思科私有协议VTP、DTP
6 0
Filter-Policy
路由策略 • 通过一系列工具或方法对路由进行各种控制的“策略”。 • 影响路由的产生、发布、选择等,进而影响报文的转发路径。
3 0
数据库开发概览和设备运行数据库方案设计
  基于数据库的应用平台是最常用的平台,比如大家订票用的网站12306,火车票和订票用户信息都是保存在数据库里。12306第一版本不太好用,也和它的数据库设计和开发不到位有一定关系。   数据库开发有简单的层次,比如面向一个表实现简单的增删改查,这些通过SQL开发技术来实现不麻烦。   数据库开发中级层次涉及到存储过程开发和TSQL开发,存储过程是数据库系统里的一类对象,TSQL是存储过程的开发语言。存储过程在服务器端执行多条命令,比在客户端执行多条命令效率快。   数据库高级开发相关的有内存数据库、复杂硬件平台和非关系数据库,内存数据库支持实时性要求高的环境,复杂硬件平台用于支持数据量
6 0
玩转 Elasticsearch 的 SQL 功能
  最近发布的 Elasticsearch 6.3 包含了大家期待已久的 SQL 特性,今天给大家介绍一下具体的使用方法。   首先看看接口的支持情况   目前支持的 SQL 只能进行数据的查询只读操作,不能进行数据的修改,所以我们的数据插入还是要走之前的常规索引接口。
3 0
+关注
powertoolsteam
经过30年来在控件领域的不断积累,葡萄城已经成为全球最大的控件提供商,旗下多款产品在国际软件行业屡获殊荣,并且在全球被数十万家企业、学校和政府机构等选用。
403
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载