我有两个类的下一个代码:
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,这将创建一对多关系,但我想知道的是如何将其转换为零对多关系。
我是实体框架的新手,我无法找到任何直接的答案。
答案 0 :(得分:7)
对于Entity Framework中的0对多关系,请将外键置为可空。
public int? Object2ID { get; set; }
答案 1 :(得分: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);
}
}