У меня возникли проблемы с использованием валидации модели первого подхода к базе данных, я прочитал знаменитый ASP.NET MVC 2: Model Validation Скоттом Гу, но проблема в том, что это не сработало в моем проекте mvc, мой файл Edmx в библиотеке классов Project.Model и мой класс проверки в пространстве имен Project.Model.Membership, я не понимаю концепцию проблемы здесь. вот код:база данных первая аннотация данных Проблема asp.net mvc 4
namespace Project.Model
//part of generated code by EF database first
public partial class Member
{
public Member()
{
this.SideDuties = new HashSet<SideDuty>();
this.Member_In_Role = new HashSet<Member_In_Role>();
this.Messages = new HashSet<Message>();
this.Messages1 = new HashSet<Message>();
}
public System.Guid mId { get; set; }
public byte MemberTypeNo { get; set; }
public string mName { get; set; }
public string mLName { get; set; }
public string mUserName { get; set; }
public string mPass { get; set; }
public Nullable<byte> MarriageStatusNo { get; set; }
public Nullable<byte> GenderNo { get; set; }
public Nullable<int> mPhone { get; set; }
public Nullable<long> mMobile { get; set; }
public Nullable<int> mEmrgPhone { get; set; }
public Nullable<long> mEmrgMobile { get; set; }
public string mEmail { get; set; }
public string mProfilePicExt { get; set; }
public bool mIsOperator { get; set; }
public bool mIsAdmin { get; set; }
public virtual ...
}
namespace Project.Model.membership
//my class handling data annotations, not work!
[MetadataType(typeof(Member_Validation))]
public partial class Member
{
}
//buddy class
[Bind(Exclude = "mId")]
public sealed class Member_Validation
{
//public System.Guid mId { get; set; }
public byte MemberTypeNo { get; set; }
[Required(ErrorMessage = "blah blah")]
public string mName { get; set; }
[Required]
public string mLName { get; set; }
public string mUserName { get; set; }
public string mPass { get; set; }
public Nullable<byte> MarriageStatusNo { get; set; }
public Nullable<byte> GenderNo { get; set; }
public Nullable<int> mPhone { get; set; }
public Nullable<long> mMobile { get; set; }
public Nullable<int> mEmrgPhone { get; set; }
public Nullable<long> mEmrgMobile { get; set; }
public string mEmail { get; set; }
public string mProfilePicExt { get; set; }
public bool mIsOperator { get; set; }
public bool mIsAdmin { get; set; }
}
посмотреть модели хорошие, но если бы я хотел сделать это, было бы лучше пойти на первый подход к коду, теперь, когда я использую базу данных сначала, это своего рода дополнительная работа и код с использованием модели представления вместо использования сгенерированных классов моделей, Я думаю, что это относится к моим пространствам имен, но я действительно не знаю, как это исправить! –
no, viewmodels предназначены не только для первого подхода кода. Это шаблон, который сначала используется в первом коде и в базе данных. – whoah
Спасибо, я думаю, что лучше потянуть мои волосы над этой метаданной –