如果我有以下物品:
public class Application
{
public int ApplicationId { get; set; }
public string Name { get; set; }
public virtual ICollection<TestAccount> TestAccounts { get; set; }
}
public class TestAccount
{
public int TestAccountId { get; set; }
public int ApplicationId { get; set; }
public string Name { get; set; }
public virtual Application Application { get; set; }
}
EF Mapping看起来像这样:
modelBuilder.Entity<Application>()
.HasMany(a => a.TestAccounts)
.WithRequired(t => t.Application)
.WillCascadeOnDelete(false);
这两者之间的关系是我可以拥有零个或多个TestAccounts的应用程序。
我试图描述两个表之间的fk关系。有人可以解释“.WithRequired”的作用。我不明白为什么需要这样做。
答案 0 :(得分:10)
这意味着每个TestAccount
实体必须有一个Application
实体与之关联。我想一种方法就是这样:
如果在您的数据库中,您有另一个表的外键并且该外键是非NULL,则使用WithRequired
,否则如果它可以为NULL,则使用WithOptional
以下是一些值得关注的文档: