對於這裏的比喻,一個人可以有零個或一個車,而一個車只屬於一個人。一對一或一對一關係中的重複鍵和表字段
我有一個看起來像這樣的數據庫:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public virtual Car Car { get; set; }
}
public class Car
{
public int PersonId { get; set; }
public virtual Person Person { get; set; }
public string Model { get; set; }
}
我想有從人鏈接到它的轎車,如果存在的話,並從汽車到它的人。所以我EntityTypeConfigurations是像這樣:
public class PersonConfig : EntityTypeConfiguration<Person>
{
public PersonConfig()
{
ToTable("tblPerson");
HasKey(s => s.Id)
.Property(s => s.Id)
.HasColumnName("idPerson");
Property(s => s.Name)
.HasColumnName("strName")
.IsRequired();
HasOptional(a => a.Car)
.WithOptionalPrincipal();
}
}
public class CarConfig : EntityTypeConfiguration<Car>
{
public CarConfig()
{
ToTable("tblCar");
HasKey(s => s.PersonId)
.Property(s => s.PersonId)
.HasColumnName("idPerson");
Property(s => s.Model)
.HasColumnName("strModel")
.IsRequired();
HasRequired(a => a.Person)
.WithRequiredDependent();
}
}
我不知道我得到錯誤的,但EF:
- 在
tblCar
- 創建一個額外
Person_Id
場創建兩個外鍵中tblCar
,一個名爲idPerson
和其他Person_Id
什麼我忘了,或做wron G?