相关疑难解决方法(0)

无法将值NULL插入"RoleId"列(mvc4简单成员资格)

我注意到其他人遇到了同样的问题,例如无法将值NULL插入"UserId"列,但这应该是由不同的原因引起的.

这个问题可以像这样简化:

            UsersContext _usersContext = new UsersContext();
            ...
            var usersInRole = new UsersInRole() { RoleId = 3, UserId = 1 };
            _usersContext.UsersInRoles.Add(usersInRole);
            _usersContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

最后一行代码引发了异常

"更新条目时发生错误.有关详细信息,请参阅内部异常."

,而且InnerException也说了同样的话

"更新条目时发生错误.有关详细信息,请参阅内部异常."!

幸运的是,InnerException的InnerException说

"无法将值NULL插入列'RoleId',表'MFC.dbo.webpages_UsersInRoles';列不允许空值.INSERT失败.\ r \n语句已终止."

.这意味着"RoleId = 3"被修改或忽略,这怎么可能发生?

下面列出了一些其他可能有用的代码:

[Table("webpages_UsersInRoles")]
public partial class UsersInRole
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int RoleId { get; set; }
    public int UserId { get; set; }
}

public class UsersContext : DbContext
{
    public UsersContext()
        : base("MFCConnectionString")
    {
    }

    public DbSet<UsersInRole> UsersInRoles { get; set; }
} …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4 simplemembership

0
推荐指数
1
解决办法
7889
查看次数

标签 统计

asp.net-mvc-4 ×1

simplemembership ×1