asp.net mvc 3.0详细笔记__04__项目文件结构详解_Models
2013-12-27 22:13
609 查看
欢迎一起来学习MVC 3.0,我们在一步一个脚印的做一个MVC 3.0的项目,期间会有很多值得探索的地方。将会学到Razor,Lampda,Entity
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
详解Models文件夹的作用,地位。
小提示:本次将新建几个类文件:Album.cs
唱片
Genre.cs 种类
Artist.cs 艺术家
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
步骤如下:
(1)右键点击"Models"文件夹,依次选择"添加=>新建项"。
(2)选择“类”,名称设为“Album”,(中文名是唱片),点击“添加”
(3)生成如下类文件。
(4)按照(1)~(3)的步骤新建Genre.cs和Artist.cs两个类文件。
(5)依次向里面添加一些属性(对应数据库的字段),其中许多注释是非常重要的,如果你还是菜鸟就好好领回一下吧!具体代码如下,请复制。
Album.cs文件:
Genre.cs文件:
Artist.cs文件:
(6)注意事项:
如果在类名上方不加[Table("")]属性,则会出现问题:在之后的查询中会发现查找的数据表名称总是在我们类名称基础之上多个"s",这就是EF做的(错误演示地址:ASP.NET Entity Framework 查询数据表多个"s"的解决方法。)。所以,你要知道你的模型类名称对应的数据表名称是什么,然后在这里声明清楚。
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
详解Models文件夹的作用,地位。
小提示:本次将新建几个类文件:Album.cs
唱片
Genre.cs 种类
Artist.cs 艺术家
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
步骤如下:
(1)右键点击"Models"文件夹,依次选择"添加=>新建项"。
(2)选择“类”,名称设为“Album”,(中文名是唱片),点击“添加”
(3)生成如下类文件。
(4)按照(1)~(3)的步骤新建Genre.cs和Artist.cs两个类文件。
(5)依次向里面添加一些属性(对应数据库的字段),其中许多注释是非常重要的,如果你还是菜鸟就好好领回一下吧!具体代码如下,请复制。
Album.cs文件:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel;//手动引入,为DisplayName等属性提供支持。 using System.ComponentModel.DataAnnotations;//为ScaffoldColumn,Required,StringLength,Range等属性提供支持。 namespace MyMusicStore.Models { /// <summary> /// 唱片模型类(在文件夹Models下建立的类,统称为模型类,因为它们就是数据表的面向对象的形式),此类对应的数据表是Album, /// 模型类的一部分属性会对应数据表的字段,之所以说是一部分,是因为有的属性,不对应字段,而是用来关联表与表,例如本模型类的 /// Genre和Artist这涉及到延迟加载(Lazy Load),详情请参照http://blog.csdn.net/dhcsimida/article/details/17506733 /// </summary> [Table("Album")] public class Album { /// <summary> /// 唱片Id /// </summary> [ScaffoldColumn(false)] public int AlbumId { get; set; }//因为此字段AlbumId是由类名Album和Id组合而成,那么它就是数据表Album的主键,具体请参考: /// <summary> /// 唱片所属种类Id /// </summary> [DisplayName("种类")]//用来显示的文字(即数据操作时用"GenreId",而在页面显示是用"种类") public int GenreId { get; set; } /// <summary> /// 唱片所属艺术家Id /// </summary> [DisplayName("艺术家")] public int ArtistId { get; set; } /// <summary> /// 唱片标题 /// </summary> [Required(ErrorMessage = "唱片必须有标题!")] [StringLength(160)] public string Title { get; set; } /// <summary> /// 唱片地址 /// </summary> [DisplayName("唱片地址")] [StringLength(1024)] public string AlbumArtUrl { get; set; } /// <summary> /// 唱片价格 /// </summary> [Required(ErrorMessage = "唱片必须有价格!")] [Range(0.01, 100.00, ErrorMessage = "范围必须从 0.01 到 100.00")] public Nullable<decimal> Price { get; set; } /// <summary> /// 唱片种类模型类 /// </summary> public virtual Genre Genre { get; set; }//virtual是延时加载,具体参照Lazy Load /// <summary> /// 艺术家模型类 /// </summary> public virtual Artist Artist { get; set; }//virtual是延时加载,具体参照Lazy Load } }
Genre.cs文件:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace MyMusicStore.Models { [Table("Genre")] public class Genre { /// <summary> /// 唱片种类Id /// </summary> public int GenreId { get; set; } /// <summary> /// 唱片种类名称 /// </summary> public string Name { get; set; } } }
Artist.cs文件:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace MyMusicStore.Models { [Table("Artist")] public class Artist { /// <summary> /// 艺术家Id /// </summary> public int ArtistId { get; set; } /// <summary> /// 艺术家名称 /// </summary> public string Name { get; set; } } }
(6)注意事项:
如果在类名上方不加[Table("")]属性,则会出现问题:在之后的查询中会发现查找的数据表名称总是在我们类名称基础之上多个"s",这就是EF做的(错误演示地址:ASP.NET Entity Framework 查询数据表多个"s"的解决方法。)。所以,你要知道你的模型类名称对应的数据表名称是什么,然后在这里声明清楚。
相关文章推荐
- asp.net mvc 3.0详细笔记__06__项目文件结构详解_Content和Scripts
- asp.net mvc 3.0详细笔记__08__项目文件结构详解_Web.config
- asp.net mvc 3.0详细笔记__07__项目文件结构详解_Global.asax
- asp.net mvc 3.0详细笔记__03__项目文件结构详解_Controllers
- asp.net mvc 3.0详细笔记__05__项目文件结构详解_Views
- asp.net mvc 2.0详细笔记__02__项目文件结构详解
- asp.net mvc 3.0详细笔记__02__项目文件结构概述
- asp.net mvc 3.0详细笔记__01__准备工作,新建项目
- asp.net mvc 3.0详细笔记__14__了解支架
- asp.net mvc 3.0详细笔记__16__自定义的 HtmlHelper类方法
- asp.net mvc 3.0详细笔记__12__Razor超链接Html.ActionLink()
- asp.net mvc 3.0详细笔记__11__创建分部视图
- asp.net mvc 3.0详细笔记__13__了解Linq,#region,#endregion
- asp.net mvc 2.0详细笔记__01__新建项目
- asp.net mvc 3.0详细笔记__18__EF的下载
- asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表
- asp.net mvc 3.0详细笔记__17__使用 DataAnnotations 进行模型验证
- 走入asp.net mvc不归路:[1]项目文件结构
- asp.net mvc 3.0详细笔记__15__Razor
- asp.net mvc 3.0详细笔记__10__创建强类型视图