我有一个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);
- 这里的重点是 User 可以创建一个 Event (
Event.Admin && Admin.Id
) 并且可以订阅其他事件 (User.SubscribedEvents && Event.Subscribed
) 当我尝试访问
User.SubcribedEvents.ToList()
它时会引发以下错误:值不能为空。参数名称:源
但是插入有效,并且该值进入正确的表:
**dbo.UserEvents**
.- 我的实体设计有什么问题?如果您需要更多信息来追踪故障,请询问。谢谢!