2013-02-22 4 views
1

SQLDatabase에 연결된 엔티티 데이터 모델을 사용하고 있습니다.DateTime.Now는 엔티티 데이터 모델을 사용하여 SQLDatetime으로 변환합니다.

하나의 특정 열은 datetime입니다. 나는 다음과 같은 오류가 Datetime.Now로 값을 선언 할 때

: 나는 Google에서 시간을 보냈다과 유사한 문제의 충당을 발견

ReworkEntities dbContext = new ReworkEntities(); 

     Carton carton = new Carton(); 

     Carton_Details detail1 = new Carton_Details(); 
     detail1.Detail = "Some Detail Here"; 
     detail1.DateOfSub = DateTime.Now; 

     carton.Carton_Details.Add(detail1); 

     dbContext.AddToCartons(carton); 
     dbContext.SaveChanges(); 

: 여기

Inner Exception: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

내 코드입니다 그러나 아무 것도 나를 위해 일하는 것처럼 보이지 않는다.

그들은 .toSting ("M/dd/yyyy H : mmss tt")을 사용하도록 제안했지만 문자열 값에 대해 작동하지만 DateTime 값이 필요하며 다시 변환 할 때 여전히 동일합니다.

또한 시도해 보았습니다. 구분 .ParseExact 또한 성공하지 못했습니다.

다른 게시물은 SQL 데이터베이스 날짜/시간 형식을 변경하는 것을 제안하지만 그렇게 사용하는 것은 우리의 코드 표준이므로 수행 할 수 없습니다.

문제를 해결하는 방법에 대한 제안 사항을 보내 주시면 대단히 감사하겠습니다.

고맙습니다.

+1

이 테이블의'Carton_Detail'에서 'DataType'이있는 필드가'DateTime'입니까? – spajce

+0

'detail1.DateofSub' 속성의'Type'은 무엇입니까? –

+0

Type 속성은 DateTime입니다. 그렇습니다. 다른 필드는 잘 게시되지만 detail1.DateofSub 만 게시하지 않습니다. –

답변

0

비슷한 문제가 발생했습니다. 엔티티의 생성자에 속성 값을 넣으면됩니다.

public class Carton_Details 
{ 
    public DateTime DateOfSub { get; set; } 

    public Carton_Details() 
    { 
     this.DateOfSub = DateTime.Now; 
    } 
} 

내가 도와 주었으면합니다.