ASP.NETMVC创建用户:多重性无效。
创始人
2024-09-19 04:30:47
0

这个问题通常是由于在用户关系模型中多重性设置错误导致的。例如,您可能会在代码中设置如下模型:

public class User { public int UserId { get; set; } public string UserName { get; set; } public virtual ICollection Roles { get; set; } }

public class Role { public int RoleId { get; set; } public string RoleName { get; set; } public virtual ICollection Users { get; set; } }

在这种情况下,当您在创建用户时尝试添加相同的角色时,您可能会收到“Multiplicity is not valid”错误。

为了解决这个问题,您可以通过使用下面的代码来调整模型:

public class User { public User() { Roles = new HashSet(); }

public int UserId { get; set; }
public string UserName { get; set; }
public virtual ICollection Roles { get; set; }

}

public class Role { public Role() { Users = new HashSet(); }

public int RoleId { get; set; }
public string RoleName { get; set; }
public virtual ICollection Users { get; set; }

}

这将确保每个用户和角色只有一个关系,同时还可以正确处理多个角色的情况。

如果您使用的是Code First模式,则可以在OnModelCreating事件中使用以下方法进行配置:

protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity() .HasMany(s => s.Roles) .WithMany(c => c.Users) .Map(cs => { cs.MapLeftKey("UserId"); cs.MapRightKey("RoleId"); cs.ToTable("UserRole"); }); }

这将配置UserRole表,以便可以正确保存用户和角色之间的关系。

相关内容

热门资讯

透视苹果版!微乐小程序授权,七... 透视苹果版!微乐小程序授权,七彩捞腌菜神器下载,详细教程!(有挂透明挂)-哔哩哔哩;无需打开直接搜索...
实操分享"指尖四川辅... 实操分享"指尖四川辅助脚本"开挂(透视)辅助下载(一直确实是有挂)-哔哩哔哩;指尖四川辅助脚本简单的...
一分钟了解"赣牌圈总... 一分钟了解"赣牌圈总输"开挂(透视)辅助安装(原来是有挂)-哔哩哔哩;是一款可以让一直输的玩家,快速...
分享个大家!玫瑰大厅辅助,樱花... 分享个大家!玫瑰大厅辅助,樱花之盛挂,存在挂教程(有挂讲解)-哔哩哔哩>>您好:软件加薇136704...
推荐十款"非凡贪玩挂... 推荐十款"非凡贪玩挂"开挂(透视)辅助安装(果然真的有挂的)-哔哩哔哩;非凡贪玩挂是一款益智类棋牌手...
重磅来袭!途游手游辅助,约局吧... 重磅来袭!途游手游辅助,约局吧开挂,教你教程(有挂方略)-哔哩哔哩>>您好:软件加薇13670430...
透视攻略"欢乐情怀辅... 透视攻略"欢乐情怀辅助挂"开挂(透视)辅助脚本(一贯确实是有挂的)-哔哩哔哩;AI辅助机器人普及解说...
科技介绍!免费的衢州都莱辅助器... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
透视脚本"悟空大厅免... 透视脚本"悟空大厅免费辅助器"开挂(透视)辅助平台(一直确实是有挂)-哔哩哔哩;悟空大厅免费辅助器是...
记者揭秘!微乐手游微乐辅助免费... 记者揭秘!微乐手游微乐辅助免费,斗棋辅助脚本视频,必备教程(有人有挂)-哔哩哔哩 >>您好:软件加薇...