У меня есть две таблицы с отношением «многие ко многим», например:
Пользователь ( адрес электронной почты , Имя)
UserAlerts ( адрес электронной почты , AlertId )
Предупреждение ( AlertId , название)
Оповещения уже добавлены в базу данных. При добавлении нового пользователя я делаю поиск по AlertRepository
. Проблема заключается в том, что вместо создания записи только в таблицах User и UsertAlerts добавляется дополнительная запись Alert .
Я использую следующий код:
public ActionResult Register(UserModel model, int[] Alerts)
User user = new MidTier.Models.User();
user.Name = model.Name;
user.EmailAddress = model.EmailAddress;
if (Alerts!=null)
{
IRepository<Alert> alertRepository = new AlertRepository();
foreach (int alertId in Alerts)
{
Alert alert = alertRepository.First(a=>a.ID== alertId);
alertRepository.Detach(alert);
if (alert != null)
{
alert.Enabled = true;
user.Alerts.Add(alert);
}
}
}
userRepository.Attach(user);
userRepository.Add(user);
userRepository.Save();