2012-03-06 2 views
6

Entity Framework 기반 응용 프로그램을 개발 중입니다. 나는 모델 우선 접근법을 사용하고있다. 동시성 문제를 처리하고 싶습니다. 많은 기사에서 필자는 ConcurrencyMode를 타임 스탬프 인 필드에 고정시켜이를 수행하려고합니다. 내가 문제에 직면하는 순간 - 나는 타임 스탬프 형식의 필드 (열)를 추가 할 수 없습니다. 모델로 어떻게 할 수 있습니까?엔터티 프레임 워크 모델 첫 번째 타임 스탬프

여기에 기록 된대로 :

http://social.msdn.microsoft.com/Forums/is/adodotnetentityframework/thread/1ed8d1e4-9d78-4593-9b10-33e033837af8 내가 엔터티 디자이너 데이터베이스 세대 파워 팩을 installiing했지만, 아직도 내가 모델에서 생성 된 타임 스탬프를 (심지어 수동으로 설정을 시도해야 할 가능성을 볼

\ edmx 파일에서,하지만 여전히 생성 된 데이터베이스에서 timestamp fcolumn을받지 못했습니다).

도와주세요.

답변

2

데이터베이스 유형 타임 스탬프가 EF의 이진 속성 유형에 매핑된다고 생각합니다.

내 모델의 타임 스탬프 열은 길이가 8이고 고정 길이가 true이고 StoreGenratedPattern이 Computed 인 이진 형식입니다.

편집 : 실제로 가능하지 여기에 설명 된대로 T4 템플릿을 변경하지 않고 : 다음

public partial class DepartmentEFEntity 
{ 

    Guid DepartmentUUID { get; set; } 

    public byte[] TheVersionProperty { get; set; } 
} 

과 : Entity Framework timestamp Generate Database issue

0

EF 6.1을, 나는이이

 modelBuilder.Entity<DepartmentEFEntity>().Property(o => o.TheVersionProperty).HasColumnType("timestamp").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed).IsRowVersion(); 

때 나는 스크립트 테이블에서, 나는 이것을 얻는다 :

CREATE TABLE [dbo].[Department](
    [DepartmentUUID] [uniqueidentifier] NOT NULL, 
    [TheVersionProperty] [timestamp] NOT NULL 
    ) 
관련 문제