我的 User
类包含以下字段:
public int Id { get; set; }
public ICollection<Event> AdminEvents { get; set; }
public ICollection<Event> SubscribedEvents { get; set; }
我的 Event
类看起来像:
public int Id { get; set; }
public ICollection<User> Subscribed { get; set; }
public User Admin { get; set; }
public int AdminId { get; set; }
OnModelCreating在我的 Context
:
modelBuilder.Entity<User>().HasMany(u => u.SubscribedEvents).WithMany(u => u.Subscribed);
modelBuilder.Entity<User>().HasMany(u => u.AdminEvents).WithRequired(u => u.Admin).WillCascadeOnDelete(false);
Event.Admin && Admin.Id
)并可以订阅其他事件(User.SubscribedEvents && Event.Subscribed
)当我尝试访问User.SubcribedEvents.ToList()
时,它会抛出
以下错误:
值不能为null。参数名称:source
但插入有效,值进入右表:
**dbo.UserEvents**
。
答案 0 :(得分:1)
您的导航和收藏属性(至少)应该是虚拟的,以便可以懒惰地初始化。