【问题标题】:English explanations of Code First Fluent mappings pleaseCode First Fluent 映射的英文解释请
【发布时间】:2012-04-22 10:53:54
【问题描述】:

流式 API 的一个卖点(我知道一个小卖点)是流式调用链可以类似于自然语言,乍一看这一切看起来都很棒,但就像 Code First 流式映射的情况一样API,调用与英语相去甚远,我见过的所有文档总是在一个描述中描述整个调用链。

我正在寻找封面的材料,例如像这样的流畅调用链:

modelBuilder.Entity<Status>().HasRequired(s => s.Login).WithMany();

“一个状态需要一个登录名,这个登录名可以有多个状态。”

如果我在阅读该链的方式上是正确的,但我相信读者知道我的意思。

【问题讨论】:

    标签: .net entity-framework entity-framework-4 ef-code-first


    【解决方案1】:

    让我们稍微复杂一点,以充分描述映射的含义。假设您有这两个实体:

    public class Status
    {
        public int Id { get; set; }
        ...
        public virtual LoginInfo Login { get; set; }
    }
    
    public class LoginInfo
    {
        public int Id { get; set; }
        ...
        // No navigation property to Status
    }
    

    现在你编写映射语句:

    modelBuilder.Entity<Status>().HasRequired(s => s.Login).WithMany();
    

    这句话的翻译应该是这样的(我相信母语人士可以形成更好的解释):

    实体 Status 已映射所需的导航属性 Login 以访问相关的 LoginInfo 实体实例,其中该实例可以与许多状态相关,但它不会公开映射的导航属性来访问它们。

    原始流畅的描述隐藏了关于LoginInfo的信息,因为HasRequired的这个通用参数是自动推断出来的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多