使用EF6中的注释的零或一对一关系和一对多关系

时间:2015-10-19 18:35:46

标签: c# entity-framework-6

我正在尝试为代码优先模型创建迁移,其中一个实体与另一个实体有两个关系。一个关系是1:N,另一个是0:1:

public class Checkpoint
{
    [Key, ForeignKey("Count")]
    public long Id { get; set; }
    // ...
    public virtual Count Count { get; set; }
}

public class Count
{
    public long Id { get; set; }
    public virtual Checkpoint CurrentCheckpoint { get; set; }
    public virtual ICollection<Checkpoint> Checkpoints { get; set; }
    // ...
}

这背后的想法是有一个计数(计算事物的过程,可能需要一些时间),它有许多检查点,其中一个检查点是“最近的”检查点,作为进行计算的指标

我尝试了RequiredInversePropertyForeignKey的无数组合,但未能完成这项工作。我最接近生成的列名称对我们不起作用,我认为不管怎样都不正确,如下所示:

.ForeignKey("dbo.Count", t => t.Count_Id)
.ForeignKey("dbo.Count", t => t.Count_Id1)
.Index(t => t.Count_Id)
.Index(t => t.Count_Id1);

不幸的是,这些名称与类属性不匹配,并且不具有描述性,因此我需要更改它们(这就是我在此过程中开始的方式)。我也认为在两种情况下都应该使用t.Id ......但也许不是。这可能是EF6中的注释吗?

0 个答案:

没有答案