asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表
2013-12-29 00:59
1036 查看
欢迎一起来学习MVC 3.0,我们在一步一个脚印的做一个MVC 3.0的项目,期间会有很多值得探索的地方。将会学到Razor,Lampda,Entity
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
创建数据库(或者直接导入我创建好的数据库文件,下载地址:)
应用EF连接模型类和数据库
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
1,创建数据库。
(1)打开sql server 2008数据库软件,因人而异,我的服务器名称为.\SQLEXPRESS,用Windows身份验证。
(2)点击“新建查询”,然后输入 create database MyMusicStore ,按F5
(3)再次点击“新建查询”,然后输入 以下代码,按F5
图4.1
(5)在VS2010的Controllers文件夹中添加一个类,名称为:MusicStoreEntity
(6)在MusicStoreEntity类中输入以下代码,如图6.1:
图6.1
(7)将MyHomeController.cs中代码改成以下所示,结果如图7.1
(8)将"Index.cshtml"中代码改成以下所示,结果如图8.1
(9)按F5结果如图9.1
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
创建数据库(或者直接导入我创建好的数据库文件,下载地址:)
应用EF连接模型类和数据库
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
1,创建数据库。
(1)打开sql server 2008数据库软件,因人而异,我的服务器名称为.\SQLEXPRESS,用Windows身份验证。
(2)点击“新建查询”,然后输入 create database MyMusicStore ,按F5
(3)再次点击“新建查询”,然后输入 以下代码,按F5
use MyMusicStore --创建数据表--Album--开始-- CREATE TABLE [dbo].[Album]( [AlbumId] [int] IDENTITY(1,1) NOT NULL, [GenreId] [int] NOT NULL, [ArtistId] [int] NOT NULL, [Title] [nvarchar](160) NOT NULL, [Price] [numeric](10, 2) NOT NULL, [AlbumArtUrl] [nvarchar](1024) NULL, CONSTRAINT [PK__Album__97B4BE370AD2A005] PRIMARY KEY CLUSTERED ( [AlbumId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--Album--结束-- --创建数据表--Artist--开始-- CREATE TABLE [dbo].[Artist]( [ArtistId] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](120) NULL, PRIMARY KEY CLUSTERED ( [ArtistId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--Artist--结束-- --创建数据表--Genre--开始-- CREATE TABLE [dbo].[Genre]( [GenreId] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](120) NULL, [Description] [nvarchar](4000) NULL, PRIMARY KEY CLUSTERED ( [GenreId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--Genre--结束-- --创建数据表--Cart--开始-- CREATE TABLE [dbo].[Cart]( [RecordId] [int] IDENTITY(1,1) NOT NULL, [CartId] [varchar](50) NOT NULL, [AlbumId] [int] NOT NULL, [Count] [int] NOT NULL, [DateCreated] [datetime] NOT NULL, CONSTRAINT [PK_Cart] PRIMARY KEY CLUSTERED ( [RecordId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--Cart--结束-- --创建数据表--Order--开始-- CREATE TABLE [dbo].[Order]( [OrderId] [int] IDENTITY(1,1) NOT NULL, [OrderDate] [datetime] NOT NULL, [Username] [nvarchar](256) NULL, [FirstName] [nvarchar](160) NULL, [LastName] [nvarchar](160) NULL, [Address] [nvarchar](70) NULL, [City] [nvarchar](40) NULL, [State] [nvarchar](40) NULL, [PostalCode] [nvarchar](10) NULL, [Country] [nvarchar](40) NULL, [Phone] [nvarchar](24) NULL, [Email] [nvarchar](160) NULL, [Total] [numeric](10, 2) NOT NULL, CONSTRAINT [PK__Invoice__D796AAB51A14E395] PRIMARY KEY CLUSTERED ( [OrderId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--Order--结束-- --创建数据表--OrderDetail--开始-- CREATE TABLE [dbo].[OrderDetail]( [OrderDetailId] [int] IDENTITY(1,1) NOT NULL, [OrderId] [int] NOT NULL, [AlbumId] [int] NOT NULL, [Quantity] [int] NOT NULL, [UnitPrice] [numeric](10, 2) NOT NULL, CONSTRAINT [PK__InvoiceL__0D760AD91DE57479] PRIMARY KEY CLUSTERED ( [OrderDetailId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --创建数据表--OrderDetail--结束--(4)如图4.1所示,数据库以及数据表创建完成。由于数据表中的数据有很多,录入是苦力活,我就不一一录入了,您可以直接把我做好的数据文件拷走,然后导入一下即可。下载地址:数据库MyMusicStore自家博客专用
图4.1
(5)在VS2010的Controllers文件夹中添加一个类,名称为:MusicStoreEntity
(6)在MusicStoreEntity类中输入以下代码,如图6.1:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity;//Entity Framework 提供的程序 using MyMusicStore.Models; namespace MyMusicStore.Controllers { /// <summary> /// 凡是和数据库打交道都需要经过这个类处理 /// </summary> public class MusicStoreEntity : DbContext { public IDbSet<Album> Album { get; set; }//把模型类和数据名关联在一起了 public IDbSet<Artist> Artist { get; set; } public IDbSet<Genre> Genre { get; set; } } }
图6.1
(7)将MyHomeController.cs中代码改成以下所示,结果如图7.1
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MyMusicStore.Controllers { public class MyHomeController : Controller { private MusicStoreEntity db = new MusicStoreEntity(); public ActionResult Index() { var album = db.Artist.ToList(); return View(album); } } }图7.1
(8)将"Index.cshtml"中代码改成以下所示,结果如图8.1
@model IEnumerable<MyMusicStore.Models.Artist> @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2> Index</h2> <h6> My First MVC 3.0 APP</h6> @{ foreach (var ins in Model) { <span>@ins.Name</span><br/> } }图8.1
(9)按F5结果如图9.1
相关文章推荐
- Parameter Binding in ASP.NET Web API(参数绑定)
- asp.net中Session丢失的原因
- ASP.NET 中的内置对象
- ASP.NET MVC4 结合MVVM的应用初探(二)——国产大牛MVVM框架avalon应用
- mono3.2.3+Jexus5.5+openSuSE13.1的asp.net
- ASP.NET获取网站根目录(路径)
- 关于SpringMvc + JaspersoftIReport 工具的一些资料
- asp.net发送邮件
- BT5R3蛋疼的metasploit升级
- asp.net页面中实现如果图片不存在则显示默认图片
- ASP.NET 加入返回参数ReturnValue
- 给asp.net中的图片加文字的方法
- 关于asp.net前台js调用后台方法的问题
- ASP.NET输入文本框自动提示功能
- asp.net发送E-mail
- ASP.NET MVC4 结合MVVM的应用初探(一)——国产大牛MVVM框架avalon应用
- asp.net mvc 3.0详细笔记__07__项目文件结构详解_Global.asax
- asp.net mvc 3.0详细笔记__08__项目文件结构详解_Web.config
- asp.net mvc 3.0详细笔记__06__项目文件结构详解_Content和Scripts
- asp.net mvc 3.0详细笔记__05__项目文件结构详解_Views