Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.Net MVC中的实体验证错误_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.Net MVC中的实体验证错误

Asp.Net MVC中的实体验证错误,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我正在使用ASP.net MVC…我已经创建了数据库,现在我使用下面的代码使用视图模型类在数据库中插入数据。 但它在用户表中的db.savechanges()上给出了实体验证错误(作为tbl) _用户)。请让我知道我哪里做错了 在DB中插入的代码 public string RegisterStudent(RegisterationLoginViewModel svm) { tbl_User_Role usr_role = new tbl_User_Role

我正在使用ASP.net MVC…我已经创建了数据库,现在我使用下面的代码使用视图模型类在数据库中插入数据。 但它在用户表中的db.savechanges()上给出了实体验证错误(作为tbl) _用户)。请让我知道我哪里做错了

在DB中插入的代码

public string RegisterStudent(RegisterationLoginViewModel svm)
    {
        tbl_User_Role usr_role = new tbl_User_Role
        {
           // UserRole_Id=svm.User_Role_id,
            RoleName = svm.User_Role,
            Dsecription=svm.Description,
            OtherDetails=svm.OtherDetails,
        };
        db.tbl_User_Role.Add(usr_role);
        db.SaveChanges();

        tbl_User S_Up = new tbl_User
        {
            FullName = svm.Full_Name,
            DOB = svm.Date_of_Birth,
            Address = svm.Home_Address,
            MobileNumber = svm.Mobile_Number1,
            CNIC = svm.CNIC,
            Country = svm.Country,
            Provience = svm.Provience,
            City = svm.City,
            UserRole_Id = usr_role.UserRole_Id,
            Gender = svm.Gender,
            CreatedOn = DateTime.Now,

        };
        db.tbl_User.Add(S_Up);
        db.SaveChanges(); -->**Exception is thrown at this line**

如果模型
tbl\u User\u Role
中的
UserRole\u Id
不是自动生成的,那么写这行代码
UserRole\u Id=usr\u Role.UserRole\u Id
给出
null
,因为它可能是
tbl\u User
表的外键

此外,如果您已设置了
DatabaseGeneratedOption.Identity
,则在保存
usr\u角色后需要获取其
UserRole\u Id
,然后将其分配给
UserRole\u Id


最后,重新检查您的必填字段是否不为空,外键是否得到值。

包括错误。完成,先生!错误在代码的最后一行,您需要查看错误本身,而不仅仅是“->**在这一行抛出异常**”堆栈跟踪会很有帮助。我对这个问题的第一个预感是fk约束。包括模型?需要查看
tbl_User
class。可能您忘记了初始化一个不允许的null属性,或者您在模型中使用的DataAnnotation属性没有注意到它。