代码之家  ›  专栏  ›  技术社区  ›  griegs

根据需要标记字段

  •  0
  • griegs  · 技术社区  · 14 年前

    如果我有一个dbml文件,其中包含say customer类,其中say单个属性为companyname;

    public partial class Customer : INotifyPropertyChanging, INotifyPropertyChanged
    private string _CompanyName;
    public string CompanyName
    {
      get
    

    现在,考虑到上面的内容是在DBML中生成的,我显然应该避免像瘟疫一样编辑它。

    所以我创造了另一个这样的阶级;

    public partial class Customer
    {
        [Required]
        public string CompanyName{get;set;}
    }
    

    这是因为我想按要求装饰我的场地。

    但是,当我得到编译错误“…已经包含了“customerid”的定义”时,这不起作用。

    是否有人知道解决这一问题的方法,或者是否有更好的方法根据需要标记字段或验证模型?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Xavier Poinas    14 年前

    解决方法是使用 MetadataType 具有包含数据验证批注的附加类的属性。

    见: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

        2
  •  1
  •   abarr    14 年前

    或者可以使用ViewModel模式。这也给了你灵活性,当你想使用下拉列表之类的东西时,把你的模型绑定到视图上。我们将它与automapper一起使用。