10

我有两个类的下一个代码:

public class Object
{
    public int ObjectID { get; set; }

    public int Object2ID { get; set; }
    public virtual Object2 Object2 { get; set; }
}

public class Object2
{
    public int Object2ID { get; set; }

    public virtual ICollection<Object> Objects { get; set; }
}

我知道使用实体框架,这将创建一个一对多的关系,但我想知道的是如何将其转换为一个零对多的关系。

我是 Entity Framework 的新手,我找不到任何直接的答案。

4

2 回答 2

10

对于 Entity Framework 中的 0 对多关系,外键可以为空。

public int? Object2ID { get; set; }
于 2014-09-17T16:14:07.917 回答
3

另一种方法是使用 Fluent API:

public class YouDbContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder mb)
    {
        mb.Entity<Object2>
            .HasMany(o1 => o1.Objects)
            .WithOptional(o2 => o2.Object2);

        base.OnModelCreating(mb);
    }
}
于 2016-12-22T13:22:56.740 回答