我正在使用Db First Approach开发MVC 5,实体框架。每当我使用
public class Customer
{
[Required]
public virtual string CustomerID { get; set; }
[Required]
[StringLength(15)]
public virtual string CompanyName { get; set; }
public virtual string Address { get; set; }
public virtual string City { get; set; }
public virtual string PostalCode { get; set; }
[Country(AllowCountry="USA")]
public virtual string Country { get; set; }
[Phone]
public virtual string Phone { get; set; }
}
用于在Entity Framework中生成类的验证,如果我更新我的.edmx文件,我丢失了我写的所有代码。有人建议我使用Auto-mapper。我试着找一些基本的例子,但我没有得到。引导我。如何开始和从哪里来?我是MVC,Entity Framework的新手。
答案 0 :(得分:1)
即使您更新模型,还有另一种方法可以保留验证属性代码。 在模型文件夹中,添加名为 Metadata.cs 的类(包含所有验证属性的类)。
using System;
using System.ComponentModel.DataAnnotations;
namespace YourProjectName.Models
{
public class CustomerMetadata
{
[Required]
public virtual int CustomerId { get; set; }
[Required]
[StringLength(15)]
public virtual string CompanyName { get; set; }
}
}

接下来,您必须将模型类与元数据类相关联。为此,在模型文件夹中,添加名为 PartialClasses.cs 的类。
using System;
using System.ComponentModel.DataAnnotations;
namespace YourProjectName.Models
{
[MetadataType(typeof(CustomerMetadata))]
public partial class Customer
{
}
}