Я пытаюсь создать отношение OneToMany между двумя классами «Пользователь и брокер», где у пользователя много брокеров.
Проблема в том, что когда я добавляю нового брокера, создается новый пользователь, и яне знаю, почему это происходит.
Как я могу это исправить?
Пользователь
public class User{
public long id { get; set; }
public String name { get; set; }
public IList<Broker> brokers { get; set; }
Брокер
public class Broker{
public long id { get; set; }
public String name { get; set; }
public User user { get; set; }
UserMap
public class UserMap : EntityTypeConfiguration<User>{
public UserMap (){
this.ToTable("Users");
this.HasKey<long>(u => u.id);
this.Property(u => u.id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
this.Property(u => u.name).IsRequired().HasMaxLength(50);
HasMany(u => u.brokers).WithRequired(c => c.user);
BrokerMap
public class BrokerMap : EntityTypeConfiguration<Broker>{
public BrokerMap (){
this.ToTable("Brokers");
this.HasKey<long>(c => c.id);
this.Property(c => c.id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
this.Property(c => c.name).IsRequired().HasMaxLength(50);
HasRequired(u => u.user).WithMany(c => c.brokers);
Сохранение данных
Broker broker = new Broker();
User user = Session["User"] as User;
broker.user = user;
context.Brokers.Add(broker);
context.SaveChanges();