![](/img/trans.png)
[英]Is it possible to capture a 0..1 to 0..1 relationship in Entity Framework?
[英]1 to 0..1 Relationship In Entity Framework
我想创建以下关系。 显然,这是非常痛苦的基本工作,但是由于有了EF,我才陷入了第一个障碍。 在我的数据库中, SubForm
的主键Id
是引用Application.Id
的外键(强制关系)。 当我添加一个新的Application
EF抱怨我没有SubForm_Id
行,因此我不希望这样做,因为这显然是主键的重复。 我可以在模型中添加一些注释来解决这个问题吗?
这使我想到另外一个问题,如果我想添加一个新的Application
有一个新的SubForm
在同一时间的数据库-我怎么能拿的Application Id
(这是在分贝为自动增量INT定义)设置它在SubForm
对象上,还是EF可以帮我做这个?
帮助将不胜感激。
EF按照惯例,假设你的Application
表中有一个标量属性SubForm_Id
当你有型的导航性能SubForm
。 您需要显式配置共享主键映射。
public class MyContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Application>()
.HasOptional(a => a.SubForm)
.WithRequired(s => s.Application);
}
}
您可以如下插入
var app = new Application();
var subForm = new SubForm { Application = app };
db.SubForms.Add(subForm);
db.SaveChanges();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.