이것은 EF 5 및 데이터베이스 첫 번째 모델링에 적용됩니다. 내 모델은 기존 DB에서 EF 생성기를 사용하여 만들어졌습니다.EDMX 덮어 쓰기 주요 데이터 주석
기본 키 필드의 이름이 EF 규칙과 일치하지 않기 때문에 모델 클래스에서 [Key] 데이터 주석을 사용하고 있습니다.
모든 것이 작동하지만 루트 EDMX 파일을 열면 모델 클래스가 업데이트되고 내가 직접 변경 한 사항은 손실됩니다.
변경 사항을 다른 방식으로 변경해야합니까?
이것은 EF 5 및 데이터베이스 첫 번째 모델링에 적용됩니다. 내 모델은 기존 DB에서 EF 생성기를 사용하여 만들어졌습니다.EDMX 덮어 쓰기 주요 데이터 주석
기본 키 필드의 이름이 EF 규칙과 일치하지 않기 때문에 모델 클래스에서 [Key] 데이터 주석을 사용하고 있습니다.
모든 것이 작동하지만 루트 EDMX 파일을 열면 모델 클래스가 업데이트되고 내가 직접 변경 한 사항은 손실됩니다.
변경 사항을 다른 방식으로 변경해야합니까?
기본 키에 데이터 주석을 추가하도록 T4 템플릿을 업데이트 할 수 있습니까?
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
if (ef.IsKey(edmProperty)){
#>
[Key]
<# } #>
나를 위해 작동 한 솔루션은 컨텍스트 클래스의 OnModelCreating 메서드에서 EF 규칙을 오버라이드했습니다.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<abk_Bookings>()
.HasKey(e => e.booking_number);}
이전에 tt 파일로 작업 한 적이 없습니다. simpleProperties에서 "현재 컨텍스트에 존재하지 않습니다"오류가 발생하며 온라인에서 어떤 설명서도 찾을 수 없습니다. 내가 배운 어떤 지시라도? – tintyethan
@EthanPelton - tt 파일에서 66 행을 확인하십시오. 이미 foreach가 변수 simpleProperties –
과 함께 표시되어 있어야합니다. 내 문제가 해결되었습니다. 나는 그것이 왜 기본적으로 존재하지 않는지 궁금하다. – almaz