1
아래 클래스의 개체를 사용하여 ServiceStack (SQL Server 2014)에 대한 "삽입"기능을 사용하려고하면 0을 삽입하려고 시도합니다. ContactId의 기본값 속성) 대신 자동으로 데이터베이스에 하나를 생성합니다. ContactId는 IDENTITY NOT NULL
입니다. ContactId는 클러스터 된 인덱스이지만 GlobalContactId는 클러스터되지 않은 기본 키입니다.PK가 아닌 필드의 ServiceStack ID - 삽입이 실패 함
[Alias("Contact")]
[Schema("Customer")]
public partial class Contact
{
[PrimaryKey]
public Guid GlobalContactId { get; set; }
[AutoIncrement]
public int ContactId { get; set;}
...
나는이 일을 해요 이유는
- 이 분산 응용 프로그램, 그리고 전화 가정에 필요 - 따라서 GUID
- 그것은 오래된 데이터 가져 오기 및 사용자가 참조 할 자사 쉽게 (적어도 특정 위치에 대해서는) GUID가 아닌 int이며 앞으로 나아갈 것입니다.
- 성능상의 이유로 데이터가 집에없는 다른 테이블에 대한 ContactId를 FK로 사용하고 있습니다.
속성에 [AutoIncrement]
이 있고 값이 해당 유형의 기본값과 일치하면 값이 설정되지 않았다고 가정합니다.
편집 지금은 단지 PK 및 ID 모두로 ContactID가를 사용하여 복귀하고 [AutoIncrement]
속성이 자동 지정을위한 OrmLite에서
중복 가능 http://stackoverflow.com/questions/19277431/servicestack-ormlite-cannot-update-identity-column – Oleg
중복되지 않습니다. 그 질문은 자동 증가가있는 테이블의 PK에 관한 것이 었습니다. 이 경우 ID 필드는 기본 키가 아닙니다. –
아마도 도움이 될 것입니다. http://techfunda.com/howto/121/auto-increment-property-in-model –