.net 请先用英文解释代码

.net 请先用英文解释代码,.net,entity-framework,entity-framework-4,ef-code-first,.net,Entity Framework,Entity Framework 4,Ef Code First,fluent API的一个卖点(我知道一个次要卖点)是fluent调用链可以类似于自然语言,乍一看这一切都很好,但与Code first fluent mapping API一样,调用与英语的距离太远了,我看到的所有文档总是在一个描述中描述整个调用链 我正在寻找封面材料,例如流畅的呼叫链,如: modelBuilder.Entity<Status>().HasRequired(s => s.Login).WithMany(); modelBuilder.Entity();

fluent API的一个卖点(我知道一个次要卖点)是fluent调用链可以类似于自然语言,乍一看这一切都很好,但与Code first fluent mapping API一样,调用与英语的距离太远了,我看到的所有文档总是在一个描述中描述整个调用链

我正在寻找封面材料,例如流畅的呼叫链,如:

modelBuilder.Entity<Status>().HasRequired(s => s.Login).WithMany();
modelBuilder.Entity();
“状态需要登录,此登录可以有多种状态。”


如果我对这条链的理解是正确的,但我确信读者知道我的意思。

让我们更复杂一点来全面描述映射的含义。假设您有以下两个实体:

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();
modelBuilder.Entity();
这句话的翻译应该是这样的(我相信以英语为母语的人可以做出更好的解释):

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

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