How to set a 0..* relationship in Entity Framework

2020-06-12 04:20发布

I have the next code for two classes:

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; }
}

I know that with Entity Framework, this will create a one-to-many relationship, but what I want to know, is how to transform this to a zero-to-many relationship.

I'm new to Entity Framework and I couldn't find any direct answer around.

2条回答
爱情/是我丢掉的垃圾
2楼-- · 2020-06-12 04:34

Another way to do this is by using 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);
    }
}
查看更多
甜甜的少女心
3楼-- · 2020-06-12 04:46

For a 0-to-many relationship in Entity Framework, have the foreign key be nullable.

public int? Object2ID { get; set; }
登录 后发表回答