Asp.net mvc + .net EF database first 或 model first 时如何添加验证特性

在使用Entity Framework 的Database frist或model first时,怎么在model上添加验证的特性?

因为此时的Model是是VS 工具怎么生成的,直接加attribute到modle类上是太现实也不合理。一个比较合理做法,就是用 buddy class的方式来实现。

比如有一个Model类: Movie。那我们就可以添加一个局部类文件,局部类的内容如下:

using System.ComponentModel.DataAnnotations;
namespace Movies.Models
{
    [MetadataType(typeof(MovieMetadata))]
    public partial class Movie
    {
        private class MovieMetadata  //这个类名随便起,相当于把这个类里面的东西追加给Movie,这个追加是用[MetadataType]实现的
        {
            [Required(ErrorMessage="Titles are required")]
            public string Title { get; set; }

            [Required(ErrorMessage="The Price is required.")]
            [Range(5,100,ErrorMessage ="Movies cost between $5 and $100.")]
            public decimal Price { get; set; }
        }
    }
}

通过在这个局部类文件中添加需要的验证属性就可以了。

以上内容来自http://www.cnblogs.com/ITHelper/archive/2013/01/08/2851442.html

另外,对于有文件上传的时候,还可以写一个扩展的model,比如:

public class MovieViewModel
{
[FileExtensions(Extensions = “jpg,gif,png”, ErrorMessage = “jpg,gif,png”)]
public HttpPostedFileBase CoverImageFile { get; set; }

public Movie movie { get; set; }

}

这样,在给control生成强类型view的时候就用MovieViewModel。

情景剧:如果这都不算爱

010053

2003年由武汉大学信息管理学院信息管理与信息系统专业三班推出,演员:刘全芷、周睿、郭畅、何博。翻出来怀旧下,我可是几乎所有场次的热心观众啊。

第一幕:

人物:何博、刘全芷

场景:开幕。雷雨音效,中排灯。博持酒瓶坐于台中,右前台倒置一把伞。

博:108,第108次,惨遭拒绝。全芷,你告诉我,我要怎样做才能牵你的手。(猛灌一口,看着酒瓶)为什么我要对一个不可能答应我的人念念不忘?!(灌) 继续阅读“情景剧:如果这都不算爱”

数字出版展会现场演示方案

images硬件设备:

1. 网站服务器一台(笔记本电脑,8G内存,1T硬盘);

2. 无线路由一台(支持DD-WRT,如“Cisco思科 Linksys EA6300”),如果是一般路由则无法实现portal功能,即连接wifi自动引导至指定网址;

3. 大触摸屏(带无线网卡);

4. iPad若干;

5. 智能手机(游客自备)。  继续阅读“数字出版展会现场演示方案”

压抑的灵感和忽视的需求

pm
图片来自UCDChina

当一个团队的平均年龄都不过30岁,以女性居多,而且妈妈居多的时候,按理说做起儿童产品来,应该是个个都有些体会的。但如果事情不是这样,每个人对自己的想法都缄口不言,坐等领导指示的时候,那么接下来能做出产品也就是毫无悬念的事情了。 继续阅读“压抑的灵感和忽视的需求”

如何将内容产品转化为内容服务

以红袋鼠语音玩具为例,售价三五百元,标的物为一个会说话的玩偶,赠送的部分是定期的内容更新,这是一个典型的内容型产品。如果转化为内容服务,则是一系列持续更新的主题内容,可以用官方出售的玩偶播放,玩偶卖一两百,会员有更新资源的资格,会员费每年两三百。hongdaishu 继续阅读“如何将内容产品转化为内容服务”