2011-08-03 4 views
0

내 dbml의 부분 클래스 중 하나의 속성에서 코드를 가져오고 설정하는 래퍼 클래스가 있습니다. 래퍼의 이유는 값을 미리 형식화하는 특수 get에 대한 이유입니다. (이 실제 코드가 아니라 정확하게 서식하지만 모든 것을 나타냅니다) : 여기에 래퍼의 모습입니다랩퍼 클래스가 설정시 데이터베이스에 저장되지 않습니다

partial class Class1 
{ 
    public string PropertyFormatted 
    { 
     get 
     { 
      var ret = Property.Substring(1); 
      return ret; 
     } 
     set { Property = value; } 
    } 
} 

이 래퍼는 편집 페이지에 대한 formview에 바인딩()를 사용하여 바인딩됩니다. 어떤 이유로 래퍼의 값은 업데이트시 두 번 설정되고 두 번째 값은 원래 값으로 다시 할당되므로 결국 속성은 그대로 유지됩니다. 그러나 랩퍼가 특성 자체로 대체 될 때 데이터베이스에 저장하는 데는 아무런 문제가 없습니다.

어떤 아이디어가 그 원인 일 수 있습니까?

답변

0

dbContext는 자동으로이 방법을 통해 변화를 감지해야한다 :

http://msdn.microsoft.com/en-us/library/system.data.entity.infrastructure.dbchangetracker.detectchanges(v=vs.103).aspx

당신은 실수가 자동 변경 등의 무언가를 감지 비활성화 할 수 있습니다. 수동으로 메서드를 호출하여 차이가 있는지 확인하십시오.

행운을 빈다.

+0

실제로 변경이 이루어졌지만 여러 번 반복되었습니다 (두 번째 및 세 번째 (??) 반복이 이전 값을 사용하고 있음). – Kyle

관련 문제