- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
斯科特·汉塞尔曼(Scott Hanselman)的书向我介绍了如何创建NerdDinner MVC应用程序。
为了验证由实体数据模型向导生成的实体类型Dinner,他首先通过使用部分类技巧扩展了实体Dinner,然后使一个伙伴类与Dinner相关联。
有关详细信息,请参见以下代码。
using System.ComponentModel.DataAnnotations;
namespace NerdDinner.Models
{
[MetadataType(typeof(DinnerValidation))]
public partial class Dinner { }
public class DinnerValidation
{
[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(256, ErrorMessage = "Description may not be longer than 256 characters")]
public string Description { get; set; }
[Required(ErrorMessage = "Addresss is required")]
public string Address { get; set; }
[Required(ErrorMessage = "Country is required")]
public string Country { get; set; }
[Required(ErrorMessage = "Contact phone is required")]
public string ContactPhone { get; set; }
}
}
最佳答案
使用实体数据模型向导是不可能的。但是您可以做的是扩展Generator(生成实体的.tt文件),并让其添加[MetadataType(typeof(<#classname#> Validation))]。这样,所有生成的实体都已经准备好进行伙伴分类了……那么,您不必建立单独的局部类即可建立关联。接下来,您可以手工创建伙伴类,或者最终在“Microsoft”生成的实体旁边生成它们,这些实体是单独的文件或所有伙伴类在一起的一个文件。我们使用与您在自我跟踪实体中描述的方法相同的方法。首先,它只是一点点工作。但这确实值得。因为您获得了可以在任何给定点进行验证的坚如磐石的类:客户端,服务层,业务访问层等,所以还必须从数据库中设置所有验证条件。我们已经研究了从.edmx生成此内容的方法,但是发现为30多个类手动指定它们更具吸引力。需要几个小时的工作,但是之后是放映时间! ;)在自动生成的验证标准下,可能比生成的伙伴类更难维护,但是到处都是权衡(花费几天/周来扩展标准模板)。祝好运!
关于asp.net - Visual Studio或插件中是否有工具可以自动创建伙伴类验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4476956/
自从我进行任何 PHP 编程以来已经有一段时间了,所以我试图开始生锈。 我正在尝试创建一个关联数组结构。 [results] [total] [people] [
我正在将一些模块从 v7 迁移到 v10 现在我有这些继承 res.partner 的方法 @api.depends('company_id') def _get_country_code(self)
我是一名优秀的程序员,十分优秀!