내가 부모 테이블과 자식 테이블 간의 매우 간단한 설치를 참조코드 첫 번째와 부모 - 자식 내가 코드 첫 번째 CTP (5)를 사용하고
Create table testA (
id int not null identity(1,1),
stuff varchar(200),
primary key (id)
);
go
create table testB (
id int not null
foreign key references testA(id),
morestuff varchar(200),
primary key (id)
);
go
코드 먼저, 우리가 사용하여 이러한 테이블을 참조하십시오 다음과 같은 구조 :
내가 종피에 레코드를 추가하려고하면, 나는 오류가namespace Test.Models
{
public class TestEntities : DbContext
{
public DbSet<testa> testa { get; set; }
public DbSet<testb> testb { get; set; }
protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<testa>().ToTable("testa");
modelBuilder.Entity<testa>()
.Property(p => p.id)
.HasDatabaseGenerationOption(DatabaseGenerationOption.Identity);
modelBuilder.Entity<testb>().ToTable("testb");
}
}
public class testa
{
public int id { get; set; }
public String stuff { get; set; }
public virtual testb testb { get; set; }
}
public class testb
{
public int id { get; set; }
public string morestuff { get; set; }
public virtual testa testa { get; set; }
}
}
"IDENTITY_INSERT가 OFF로 설정되어있을 때 테이블 '테 스타'의 ID 열에 명시 적 값을 삽입 할 수 없습니다."
확인. Id가 ID 열임을 인식하지 못했을 때 Code First에 1을가하십시오. 우리는이 문제를 해결할 수 있습니다, 그래서 우리는 testa.id는 정체성이다 CodeFirst 알려주기 :
modelBuilder.Entity<testa>()
.Property(p => p.id)
.HasDatabaseGenerationOption(DatabaseGenerationOption.Identity);
우리가 다시 실행하고 다른 오류가 수행 : "는 ReferentialConstraint에 종속 속성은 가게에서 생성 된 컬럼에 매핑 컬럼 : 'id' ". 그래서이 그림이 왜 잘못 됐나요?
내가 뭘 잘못하고 어떻게 해결합니까 ???