添加一个模型mvc实例
这一章你将学习如何添加一些类来管理数据库里的电影。这些类就是ASP.NET MVC应用中的所谓Model。
你要用一个叫实体框架(Entity Framework)的.NET框架来定义和使用这些模型类。EF提供了一种发展范例叫做code first。Code first 允许你通过写一些简单的类来创建模型对象。(也被称为POCO类,从PLAIN-OLD CLR OBJECTS)然后你将很简单的从你的类上创建数据库,使你的开发工作流程干净、快速。
添加模型类
在解决方案资源管理器右键点击Modes文件夹,选择添加一个类
输入类的名字“Movie”
然后为Movie类添加以下五个属性publicclassMovie
{
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对象的每个实例都对应数据表的一行,而Mo。vie类的每一个属性都对应着数据表的一列。
在同一个文件里,添加下面的MovieDBContext类:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies {get;set;}
}
MovieDBContext类代表实体框架电影数据库上下文,可以用来存、取和更新数据库中的Movie类的实例。MovieDBContext 来自实体框架提供的一个DbContext的基础类。
要想能够引用DbContext和DbSet,你需要在文件的顶部添加下列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 Sever LocalDB创建连接字符串和工作
刚才创建的MovieDBContext类可以用来建立Movie对象到数据库记录的映射。你或许会问,那么,如何制定它要连接到的数据库呢?你可以通过在fig文件用添加连接信息来完成。
打开应用根目录下的fig文件(不是View文件夹下的fig文件)。打开红外框的那个文件。
在文件中的connectionStrings元素里添加下面的连接字符串。
<add name="MovieDBContext"
connectionString="Data
Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movie s.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
下面的例子显示了新的连接字符串添加后fig文件的一部分。
<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|\Movie s.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。