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表,以便可以正确保存用户和角色之间的关系。

相关内容

热门资讯

黑科技辅助!wepoke辅助有... 黑科技辅助!wepoke辅助有挂,(Wepoke ios)原来真的有挂,必胜教程(有挂透视)-哔哩哔...
黑科技辅助!wpk有透视辅助,... 黑科技辅助!wpk有透视辅助,(WPK系统)原来真的有挂,教你攻略(详情)-哔哩哔哩;相信小伙伴都知...
黑科技辅助!wepoke可以看... 黑科技辅助!wepoke可以看有外挂,(WePoKe讲解)原来真的有挂,必赢方法(有挂透视)-哔哩哔...
黑科技辅助!微扑克辅助软件,(... 您好:微扑克辅助软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
黑科技辅助!wepower有外... 您好,WePoKe线上这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
黑科技辅助!aapoker有内... 您好:AAPoKerai机器人这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
黑科技辅助!德扑ai工具,(德... 黑科技辅助!德扑ai工具,(德扑之星ai软件)原来真的有挂,wpk教程(规律)-哔哩哔哩;黑科技辅助...
黑科技辅助!微扑克辅助器ios... 黑科技辅助!微扑克辅助器ios,(微扑克稳赢)原来真的有挂,新版2025教程(了解)-哔哩哔哩;微扑...
黑科技辅助!推扑克辅助器,(推... 黑科技辅助!推扑克辅助器,(推扑克)原来真的有挂,切实教程(解密)-哔哩哔哩;推扑克软件透明挂更新新...
黑科技辅助!wpk透明挂,(W... 黑科技辅助!wpk透明挂,(WPK联盟局)原来真的有挂,揭秘教程(真实)-哔哩哔哩;详细WPK联盟局...