asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表

         欢迎一起来学习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

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值