getDate()가 기본값인 datetime 열이 있었다.
이를 객체에서 설정하지 않고 테이블에 삽입하려 했더니 1970-2xxx년도 사이의 에러를 넣으라고 하면서 동작하지 않았다.
이에 관하여.
Q. 데이터베이스 테이블에 SQL Getdate()를 기본값으로 사용하는 DateCreated 열이 있습니다. LINQ to SQL을 사용하여 새 레코드를 삽입하려고 하면 값이 NULL로 설정됩니다. 데이터베이스의 기본값이 설정되어야 하지 않나요?

A. LINQ to SQL은 ID(자동 증분)와 rowguidcol(데이터베이스에서 생성된 GUID) 및 타임스탬프 열에 대해서만 이와 같이 기본값을 적용합니다. 그 외의 경우에는 IsDbGenerated=true 및 AutoSync=Always/OnInsert/OnUpdate와 같이 속성을 직접 설정해야 합니다.
출처 : [http]질문과 대답(LINQ to SQL)

자동 생성된 *.dbml.cs 아래의 해당 테이블의 컬럼을 찾는다.

[Column(Storage="_regDate", DbType="DateTime NOT NULL")] public System.DateTime regDate { get { return this._regDate; } set { if ((this._regDate != value)) { this.OnregDateChanging(value); this.SendPropertyChanging(); this._regDate = value; this.SendPropertyChanged("regDate"); this.OnregDateChanged(); } } }

상단의 ColumnAttributeAutoSync, IsDbGenerated를 추가했다.
[Column(Storage = "_regDate", DbType = "DateTime NOT NULL", AutoSync = AutoSync.OnInsert, IsDbGenerated = true)]
powered by Moniwiki | themed by clockoon
last modified 2008-12-30 10:44:14
Processing time 0.1720 sec