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