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**.- エンティティの設計の何が問題になっていますか?. 問題を追跡するためにさらに情報が必要な場合は、お問い合わせください。ありがとう!