2011-11-17 7 views
0

종종 SQL Server 데이터베이스에서 CreatedDate 필드를 선언합니다. nullable이 아닌 것으로 설정되고 기본값은 GetDate()입니다. 이것은 생성 된 날짜를 강제로 잘 작동합니다.EF4.1 현재 날짜/시간 삽입

EF4.1을 사용하여이를 수행하는 방법을 배제 할 수 없습니다. 디자이너에 Default Value를위한 장소가 있지만,이 기능을 입력 할 수 있는지 확실하지 않습니다.

또한 EF 디자이너에서 Nullable로 설정하려고했지만 SQL Server에서 채우지 만이 작업은 마음에 들지 않습니다.

어떤 조언이 필요합니까?

답변

1

CreatedDate 열을 StoreGeneratedPattern에서 Identity으로 표시하지 않으면 EF를 사용할 때 GetDate을 사용할 수 없습니다. 이 경우 응용 프로그램에서이 값을 설정할 수 없으며 데이터베이스가 해당 값을 책임집니다.

StoreGeneratedPattern을 설정하지 않으면 응용 프로그램에서 데이터를 설정해야합니다 (디자이너가 현재 날짜로 기본값을 설정할 수 없음). 따라서 CreatedDate을 수동으로 채우거나이 속성을 설정하는 기본 생성자를 사용하여 엔티티 클래스의 자체 부분 부분과 같은 트릭을 사용해야합니다.

public partial class YourEntity 
{ 
    public YourEntity() 
    { 
     CretedDate = DateTime.Now; 
    } 
} 
관련 문제