2013-07-30 3 views
0

C# 코드에서 SP를 호출하고 있습니다. Everythig는 SP의 결과 유형을 변경하기 전까지 작업했습니다.저장 프로 시저의 Entity Framework Map 오류

일부 값은 Int32에서 String이고 일부 값은 Double에서 Decimal입니다.

이제 sp를 호출 할 때 또는 호출하는 동안이 오류가 발생합니다.

German: 

Die Eigenschaft 'VBENr' bei 'Report_Result' konnte nicht auf einen 'Int32'-Wert festgelegt werden. Sie müssen diese Eigenschaft auf einen Nicht-NULL-Wert des Typs 'String' festlegen. 

English: 

The Property 'VBENr' in 'Report_Result' could not be set to a 'Int32' value. You must set this property to a non-null value of type 'String'. 

디자이너가 이미 변경 되었기 때문에이 변경 작업을 수행 할 수 없습니다. 나는 디자이너가 그래서는 designer.cs도 값을 변경하고 제대로 작동하지 대해 뭔가를 읽어 * .edmx

예를 들어 VBENr 값 :

Edmx :

 <Property Type="String" Name="VBENr" Nullable="false" /> 

Deisgner .cs : 정말 내가이 오류 메시지가 점점 이유를 잘 모릅니다

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] 
     [DataMemberAttribute()] 
     public global::System.String VBENr 
     { 
      get 
      { 
       return _VBENr; 
      } 
      set 
      { 
       OnVBENrChanging(value); 
       ReportPropertyChanging("VBENr"); 
       _VBENr = StructuralObject.SetValidValue(value, false); 
       ReportPropertyChanged("VBENr"); 
       OnVBENrChanged(); 
      } 
     } 
     private global::System.String _VBENr; 
     partial void OnVBENrChanging(global::System.String value); 
     partial void OnVBENrChanged(); 

..

마르쿠스는

답변

0

때때로 코드 생성기/동의 변경 사항을 새로 고침하지 않습니다 감사합니다. 그 날에 일어날 때, 나는이 단계를 수행하십시오

  1. 저장 .edmx
  2. 테이블 (데이터베이스에서 업데이트 모델)
  3. 저장 .edmx
  4. 을 추가 edmx에서 테이블을 삭제
  5. 자신에 의해 T4 스크립트를 실행할 때 당신이 수정하고 저장하기 때문에

가 생성 된 코드를 편집하지 마십시오 (오른쪽 .TT 파일을 클릭, 사용자 지정 도구 실행 충돌). edmx 변경 사항이 손실됩니다.