Entity Framework 코드 사용 CTP5, INT 및 ID 열이 아닌 기본 키 열을 어떻게 만듭니 까?Entity Framework 코드 사용 처음 CTP5, INT 및 ID 열이 아닌 기본 키 열을 어떻게 만듭니 까?
바람직하게는 속성을 사용하지 마십시오.
Entity Framework 코드 사용 CTP5, INT 및 ID 열이 아닌 기본 키 열을 어떻게 만듭니 까?Entity Framework 코드 사용 처음 CTP5, INT 및 ID 열이 아닌 기본 키 열을 어떻게 만듭니 까?
바람직하게는 속성을 사용하지 마십시오.
속성에 대한 특성을 사용하는 대신 유창한 인터페이스를 사용하여 엔터티를 작성하는 경우 System.ComponentModel.DataAnnotations 네임 스페이스의 EntityFramework.dll에있는 DatabaseGenerationOption 클래스를 사용할 수 있습니다. 나는 그것을 테스트하지 않았지만 다음과 같이 보일 것이다.
modelBuilder
.Entity<Foo>()
.Property(f => f.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
그 답은 나를 위해 (EF 4.1에서) 작동하지 않았다.
이 일을하려면, 내 키 컬럼에 DatabaseGenerated 속성을 추가 :이 사람을 도움이public class FacebookUser
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long FacebookId { get; set; }
// ...
}
희망을.
감사합니다, 그것은 나를 위해 일했습니다. – Nestor
대용품을 작성했으며 스키마 선언이 클래스 선언 내에서 유지되었지만 보편적 빌드 메소드의 어딘가로 이동하지 않았습니다. IMHO를보다 쉽게 찾을 수있게 해줍니다. – Amadiere
왜 이것이 작동하지만 @MattHamilton의 유창한 API 응답은 그렇지 않은지 잘 모르겠지만 그렇게했습니다. 고마워요 :) – jwatts1980
작은 변경
public class User
{
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }
// Rest of the code
}
나는이 API 선택을 싫어, 그래서 나는 PrimitivePropertyConfiguration .Identity (isIdentity : false)를 이러한 확장 방법을 쓰고, .Computed는() –