【发布时间】:2011-06-29 10:36:29
【问题描述】:
我有一个 User 表,与 Alerts 表具有多对多关系。创建会员用户后,我将一些额外的信息添加到数据库中。
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
if (createStatus == MembershipCreateStatus.Success) {
User user = new MidTier.Models.User();
user.FullName = model.FullName;
if (Alerts.Count() > 0)
{
var userAlerts = SetAlert(Alerts); // creates an IEnumerable of Alerts (from a list of int )
foreach (var alert in userAlerts)
{
user.Alerts.Add(alert); //add each alert to the user
}
}
userRepository.Add(user); //throwing error
userRepository.Save();
}
调用 Add 方法时出现错误('一个实体对象不能被多个 IEntityChangeTracker 实例引用。')。即使在 SO 上,网上也有很多关于此错误的参考资料,但在阅读了所有这些 cmets 和建议后,我还没有找到解决方案或出现此错误的原因。
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-membership