2012-06-01 3 views
0

C#의 Winforms와 함께 EF 사용. 부분 클래스를 사용하여 엔티티에 전체 사용자 정의 속성을 추가하고 싶습니다. 모든 엔티티에는 이미 유효성 검사 항목이 포함 된 부분 클래스가 있으므로 일부 속성 만 추가하면됩니다. 전체 속성에 의해 나는 getter와 setter가있는 속성을 의미하므로 계산 된/읽기 전용 속성이 아닙니다. 이 문제는 주로 잘못 설계된 DB 매핑 된 속성이나 다른 문제가있는 곳에서 직접 작업하고 싶습니다. 예를 들어, 하나의 경우는 다음과 같이 될 것이다 : EF의 전체 사용자 지정 속성

// entity class, generated 
public partial class Customer 
{ 
    public string Spot {get;set} 
} 

// partial class, manually changed 
public partial class Customer 
{ 
    public int? xxxSpot 
      { get { return Int32.Parse(Spot.Trim()); } // some code omitted 
      { set { Spot = value.ToString().PadLeft(5); } 
} 

그래서 내 사용자 정의 속성은 기존의 주변에 지어 질 것이다, DB는 엔티티의 속성을 매핑. 나는 정상적인 것들처럼 이러한 사용자 정의 속성을 사용하고 싶습니다. 즉 UI 컨트롤에 바인딩하는 것입니다. 나는 하나를 시도하고 지금까지 그것은 잘 작동합니다. 좋은 생각인가요? 그렇지 않다면, 왜? 그리고 이것을 할 때 내가 무엇을 더 고려해야합니까?

답변

1

당신은 당신 자신의 질문에 대답했습니다 - 작동하고 그것을하지 않는 이유가 없습니다. 엔티티의 디자인을 향상 시키려면 맵핑 된 특성의 change visibility을 시도하여 다른 클래스가 추가 논리로 사용자 정의 특성 만 사용해야하는지 확인하십시오.