MVC 4 UserProfile外键/不允许出现null错误
本文关键字:null 错误 不允许 UserProfile 外键 MVC | 更新日期: 2023-09-27 18:25:00
我使用与MVC 4身份验证方法相关的实体框架。我已经创建了一个自定义的UserProfile
来包含一些其他的表。
用户配置文件
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public int CompanyId { get; set; }
[ForeignKey("CompanyId")]
public virtual Company Company { get; set; }
}
公司
public class Company
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
}
现在WebSecurity.CreateUserAndAccount("MyUser", "MyPassword");
抛出以下异常:
Cannot insert the value NULL into column 'CompanyId', table 'aspnet.web-67.dbo.UserProfile'; column does not allow nulls. INSERT fails. The statement has been terminated.
我可以删除ForeignKey,但在这之后,懒惰的加载似乎不再起作用。
我认为UserProfile表的CompanyId列是创建的不允许在DB中为null。你可以把它写成
public int? CompanyId { get; set; }
或者在创建用户之前必须添加CompanyId值