两种不同的方法在Fluent API Code First中生成相同的结果(WithOptional vs WithRequiredPrincipal)

时间:2015-03-23 14:30:34

标签: c# entity-framework ef-code-first ef-fluent-api

我正在阅读msdn。

中的Configuring Relationships with the Fluent API文章

但我被困在一个地方。

这两个名称有两个部分:

  • 配置必需的可选关系(一对多或一个)
  • 配置两端都需要的关系(一对一)

以下是代码:

    // Map one-to-zero or one relationship 
    modelBuilder.Entity<OfficeAssignment>()
                .HasRequired(t => t.Instructor)
                .WithOptional(t => t.OfficeAssignment);

    // Map one-to-one relationship 
    modelBuilder.Entity<OfficeAssignment>()
                .HasRequired(t => t.Instructor)
                .WithRequiredPrincipal(t => t.OfficeAssignment);

这两个查询都生成相同的CREATE TABLE查询,没有任何区别。

但是,当然必须有一些我看不到的差异。

WithOptionalWithRequiredPrincipal之间有什么区别?什么时候应该使用哪一个?

感谢。

0 个答案:

没有答案