我已经为一个离开公司并且对 MVC 不太熟悉的开发人员接手了一个项目。运行程序时,我收到“可空对象必须有值”的错误。
表格中的一个单元格由以下内容填充:
<td>@SRA_Acquire.Models.Auth.Users.GetUserNameById((int)issue.UserID)</td>
由以下内容填充:
public static string GetUserNameById(int userId)
{
return GetUserById(userId).Name;
}
internal static UserProfile GetUserById(int userId)
{
var db = new UsersContext();
return db.UserProfiles.Where(c => c.UserId == userId).Single();
}
单步执行代码时,userId 是正确的,但我收到错误说明c.UserID does not exist in the current context
但是在我的AccountModels.cs
它显示
public class UsersContext : DbContext
{
public UsersContext()
: base("AuthContext")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<UsersInRoles> UsersInRoles { get; set; }
public DbSet<Roles> Roles { get; set; }
}
[Table("UserProfile", Schema = "dbo")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public bool IsLockedOut { get; set; }
}
我错过了什么?