【发布时间】:2010-02-24 23:49:38
【问题描述】:
我有一个 linq to sql 对象或必要的实体框架对象。
我想为他们做 MVC 2 Data Annotations,但我懒惰到不行。
有没有办法自动生成数据注释a-la
[Bind(Include = "Title,Description,EventDate,Address,Country,ContactPhone,Latitude,Longitude")]
[MetadataType(typeof(Dinner_Validation))]
public partial class Dinner
{
public bool IsHostedBy(string userName)
{
return HostedBy.Equals(userName, StringComparison.InvariantCultureIgnoreCase);
}
public bool IsUserRegistered(string userName)
{
return RSVPs.Any(r => r.AttendeeName.Equals(userName, StringComparison.InvariantCultureIgnoreCase));
}
}
public class Dinner_Validation
{
[Required(ErrorMessage = "Title is required")]
[StringLength(50, ErrorMessage = "Title may not be longer than 50 characters")]
public string Title { get; set; }
[Required(ErrorMessage = "Description is required")]
[StringLength(265, ErrorMessage = "Description may not be longer than 256 characters")]
public string Description { get; set; }
[Required(ErrorMessage = "HostedBy is required")]
public string HostedBy { get; set; }
[Required(ErrorMessage = "Address is required")]
public string Address { get; set; }
[Required(ErrorMessage = "Country is required")]
public string Country { get; set; }
[Required(ErrorMessage = "Phone# is required")]
public string ContactPhone { get; set; }
}
这样我就不必自己动手了?
【问题讨论】:
-
这是个好主意。当您考虑它时,通过设计您的表(LINQ 对象),您已经指定了字段长度而不是 NULL? (必需)每个字段的选项。因此应该有一种方法可以轻松地从数据库结构中自动生成所有这些元信息并将其泵入准备好滚动的 DataAnnotations。然后你可以根据需要快速修改/调整它们..
-
有一群人试图这样做:(我不隶属)ef4templates.codeplex.com
标签: asp.net-mvc-2 data-annotations asp.net-mvc-2-validation