2012-05-26 3 views
0

테이블에 BIT 열을 추가 했으므로 연결된 Windows Entity Framework 클래스 모듈에서 올바르게 처리해야합니다.context.SaveChanges()가 업데이트되지 않습니다.

 //New added column... 
    public virtual bool REPORT_UPLOADED 
    { 
     get; 
     set; 
    } 

을하지만,이 자동 생성 된 것처럼 파일이 너무하는 경우 ... 일부 도구에 의해 같습니다

여기에 내가 Order_Header.cs에 추가 무엇인가? 새 열을 고려하기 위해이 도구를 재실행해야합니까? 어쨌든. 나는 내가 이미 무엇을 흉내 시도 엔티티 프레임 워크에 익숙하지 않다

public override int Save(Entities.Master.Order_Header type) 
    { 
     try 
     { 
      using (var context = new Master_Data_Container(ConfigurationManager.MasterDataConnection())) 
      { 
       context.Order_Header.AddObject(type); 

       return context.SaveChanges(); 
      } 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

    public override int Update(Entities.Master.Order_Header type) 
    { 
     try 
     { 
      using (var context = new Master_Data_Container(ConfigurationManager.MasterDataConnection())) 
      { 
       var orderHeader = context.Order_Header.First(n => n.ID == type.ID); 

       orderHeader.ADR_FACT = type.ADR_FACT; 
       orderHeader.ADR_RAPPORT = type.ADR_RAPPORT;     
       orderHeader.REPORT_UPLOADED = type.REPORT_UPLOADED; 
       orderHeader.STATUT = type.STATUT; 
       orderHeader.TELEPHONE = type.TELEPHONE; 
       orderHeader.TYPE_COMMANDE = type.TYPE_COMMANDE; 
       orderHeader.TYPE_EXAMEN = type.TYPE_EXAMEN; 

       return context.SaveChanges(); 
      } 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

:

는 지금은 개체의 클래스 등의 저장을 구현하는 모듈, 업데이트, 선택, 기능에 갔다 내가 잘 작동하는이 프로젝트에서 가지고있는 다른 엔티티에 대한 완료.

결코 업데이트되지 않는 REPORT_UPLOADED를 제외하고 업데이트가 정상적으로 작동하는 것 같습니다. 는 SQL 프로파일 러 추적은 새 속성/열이 무시되고 있다는 :(

     orderHeader.REPORT_UPLOADED = true; 
         orderHeader.POSTE = "WHATEVER"; 
         int result = new MsDt_OrderHeader().Update(orderHeader); 

은 내가 부족 아무것도 거기에 보여?

답변

2

자동 생성 된 파일에 코드를 추가하면 안됩니다. 부분 클래스로 만들고 모든 사용자 정의 코드를 다른 파일에 저장해야합니다. 실제 문제는 Mark와 같이 들리지만 개념 모델과 스토리지 모델 간의 매핑을 설명하는 메타 데이터는 업데이트되지 않았습니다.

Visual Studio에서 .edmx 파일을 마우스 오른쪽 단추로 클릭하고 "데이터베이스에서 모델 업데이트"를 선택하십시오. T4 템플릿을 사용하여 클래스를 사용자 정의하는 경우 템플릿을 선택하고 "사용자 정의 도구 실행"을 선택해야합니다.

+0

오른쪽. 이 일을 마친 지금은 모든 것이 OK입니다. 감사. –

2

업데이트하기 위해 당신은 당신이하고있는 상황을 알려줄 필요 변경 사항 저장하기 전에 거 모델을 업데이트합니다. 당신은 그냥 수동으로 속성을 추가 한 경우

context.Entry(Order_Header).State = EntityState.Modified; 
return context.SaveChanges(); 
0

, 그것은 아마도 데이터베이스에 저장하는 방법을 설명하는 메타 데이터가없는을 내가 EF의 문서가 없습니다 편리한,하지만 linq SQL에 [Column] 특성이 있습니다 .EF 가정합니다 비슷한 것이 있습니다.

관련 문제