pat*_*o88 7 entity-framework fluent-interface foreign-keys ef-code-first
我有一个关于在EF Code First Fluent API中定义外键的问题.我有这样的场景:
两级人和车.在我的场景中,Car可以分配Person或不分配(一个或零关系).码:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Car
{
public int Id { get; set; }
public string Name { get; set; }
public Person Person { get; set; }
public int? PPPPP { get; set; }
}
class TestContext : DbContext
{
public DbSet<Person> Persons { get; set; }
public DbSet<Car> Cars { get; set; }
public TestContext(string connectionString) : base(connectionString)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Car>()
.HasOptional(x => x.Person)
.WithMany()
.HasForeignKey(x => x.PPPPP)
.WillCascadeOnDelete(true);
base.OnModelCreating(modelBuilder);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的示例中,我想将外键PersonId重命名为PPPPP.在我的映射中我说:
modelBuilder.Entity<Car>()
.HasOptional(x => x.Person)
.WithMany()
.HasForeignKey(x => x.PPPPP)
.WillCascadeOnDelete(true);
Run Code Online (Sandbox Code Playgroud)
但我的关系是一到零,我担心我错误地使用WithMany方法,但EF生成具有适当映射的数据库,一切运行良好.
请说我的Fluent API代码是否错误,或者像现在这样做的好方法就完成了.
感谢帮助.
归档时间: |
|
查看次数: |
10236 次 |
最近记录: |