0
に多くの私はこのような多対多の関係を持つ2つのテーブルを持っている:Entity Frameworkの:多くの関係
ユーザー(EMAILADDRESS、名前)
UserAlerts(EMAILADDRESS、AlertId )
アラート(AlertId、タイトル)
アラートはすでにデータベースに追加されています。新しいユーザーを挿入するときは、AlertRepository
を参照しています。問題は、ユーザーとUsertAlertsテーブルにのみレコードを作成する代わりに、さらにアラートレコードを追加することです。
私は、次のコードを使用しています:
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();