2010-04-16 1 views
0

나는 상당한 양의 검색을 수행했지만 아직 WCF 데이터 서비스를 통해 전선을 통과 한 EntityFramework 4.0 엔티티를 검증하는 쉬운 방법을 찾지 못했습니다. 기본적으로 저는 클라이언트에서 다음과 같이 뭔가를하고 싶습니다.EntityFramwork 4.0 클래스의 유효성을 검사하는 가장 좋은 방법은 무엇입니까?

 Proxy.MyEntities entities = new Proxy.MyEntities(
      new Uri("http://localhost:2679/Service.svc")); 

     Proxy.Vendor vendor = new Proxy.Vendor(); 

     vendor.Code = "ABC/XYZ"; 
     vendor.Status = "ACTIVE"; 

     // I'd like to do something like the following: 
     vendor.Validate(); 

     entities.AddToVendors(vendor); 

     entities.SaveChanges(); 

이와 관련한 도움이 필요하시면 크게 감사드립니다!

답변

0

내가 너라면 System.ComponentModel.DataAnnotations 프레임 워크를 사용할 것입니다.

웹에 많은 예제가 있습니다.

required, range 등의 ValidationAttributes를 사용하고 사용자 지정 유효성 검사를 수행하기 위해 고유 한 특성을 만들 수 있습니다.

엔티티의 유효성을 검사하는 방법은 아래를 참조하십시오.

Type objectType = entity.GetType(); 

Dictionary<string, string> errors = new Dictionary<string, string>(); 

foreach (PropertyInfo propertyInfo in objectType.GetProperties().Where(w => w.CanRead)) 
{ 
    object value = propertyInfo.GetValue(entity, null); 

    foreach (ValidationAttribute validator in propertyInfo.GetCustomAttributes(typeof(ValidationAttribute), false)) 
    { 
     if (!validator.IsValid(value)) 
     { 
      errors.Add(propertyInfo.Name, validator.ErrorMessage); 
     } 
    } 
} 

나는 당신이 무엇을 필요로하는 경우 단지

시선

다니엘

에게 희망이 도움이