1
我有一个User
类具有以下字段:“双面” EF代码第一DB操作
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.Parameter名:源
但插入的作品,和值进入右击t表:
**dbo.UserEvents**
。- 我的实体设计出了什么问题?如果你需要更多的信息 追查麻烦请问。谢谢!