2012-09-25 1 views
0

EF 4.1을 사용하여 데이터베이스에서 dateTime 값을 삽입해야하는 scenerio에 있습니다. Nullable의 데이터베이스에있는 DateColumn입니다. EF 4.1에서 Nullable 데이터베이스의 null 값 또는 유효한 값을 삽입하는 방법

제가 로 충전하고있는 엔티티를 만드는 동안

, ToFeedFormatString가 확장 방법

DTCLOSE = referenceProblemLog.DateClosed.HasValue ? 
      referenceProblemLog.DateClosed.Value.ToFeedFormatString() : 
      System.DBNull.Value.ToString(), 

.

지금 내가 관찰 한 문제는 적절한 값이 있으면 정확하게 삽입되지만적절한 날짜 값이 없을 때 데이터베이스 열에 NULL을 삽입하려고합니다. 그러나 EF는 빈 문자열로 열을 저장하고 있습니다

필드의 StoreGeneratedPattern을 "Identity"로 변경하려고했지만 문제가 있습니다. DTCLose 필드에 값을 할당 할 수 없습니다.

어떻게 둘 다 가질 수 있습니까? 적절한 값이없는 경우 1. EF는 2. 적절한 값이 다른

이 잘못

감사 에게 아누 프

+0

을 System.DBNull.Value.ToString()이 이상하게 보입니다. 대신 null을 사용하십시오. – Anri

답변

0

이 도와주세요 데이터베이스에 NULL을 삽입해야 System.DBNull.Value.ToString() 끝에 당신이 문자열을 가지고 있기 때문에 Object, ToString()은 null을 반환하지 않습니다.

당신은 당신이 DBNull을 사용할 필요가 없습니다 EF와 함께, 또한 DTCLOSE = null

을 설정해야합니다, 당신은 단지 Null 허용 속성을 정의하고 null

+0

nullable 속성은 어떻게 정의합니까? – Marathon55

+1

'int? 속성;'구조형 뒤에 물음표를 붙이면 nullable이됩니다. – Anri

-2

당신이 사용할 수 설정 :

Nullable<DateTime> date=null; 
var entity = new Model() 
      { 
       GoDate = date 
      }; 

DataContext.Models.Add(entity); 
DataContext.SaveChanges(); 
관련 문제