Asp.net mvc 3 &引用;空";在MVC3和x2B上创建外键关系记录;环境足迹
我使用的是EF+MVC3+razor 我有一个名为userProfile的模型类,姓氏变量+一个外键爱好(我想把它看作一个下拉列表) 我创建了一个控制器,只需选择这个类别和数据上下文 当我尝试创建记录时,它不允许我这样做,正如在验证区域中所说:“嗜好字段是必需的。”。 我希望“嗜好”下拉列表不是必需的。 我怎么能做到 这就是我所拥有的: 型号:Asp.net mvc 3 &引用;空";在MVC3和x2B上创建外键关系记录;环境足迹,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我使用的是EF+MVC3+razor 我有一个名为userProfile的模型类,姓氏变量+一个外键爱好(我想把它看作一个下拉列表) 我创建了一个控制器,只需选择这个类别和数据上下文 当我尝试创建记录时,它不允许我这样做,正如在验证区域中所说:“嗜好字段是必需的。”。 我希望“嗜好”下拉列表不是必需的。 我怎么能做到 这就是我所拥有的: 型号: public class UserProfile { [Key] public int Id { get; set; }
public class UserProfile {
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Surname { get; set; }
public int HobbiesId { get; set; }
public virtual Hobby Hobby { get; set; }}
public class Hobby
{
public int HobbiesId { get; set; }
public string HobbieName { get; set; }
public virtual ICollection<UserProfile> UserProfiles { get; set; }
}
public class UserProfileDBContext : DbContext
{
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Hobby> Hobbies{ get; set; }
}
我已经尝试过修改:
public class Hobby
{
public int ?HobbiesId { get; set; }
但它不起作用
有什么帮助吗
提前谢谢
PnP添加外键约束,如下所示:
public int? HobbiesId { get; set; }
[ForeignKey("HobbiesId")]
你在
UserProfile
类中尝试了public int?HobbiesId{get;set;}
吗?你还应该将你的Hobby
类成员重命名为Id
和Name
,而不是HobbiesId
和HobbyName
。Id
成员不应为空!试试公共虚拟爱好?嗜好{get;set;}在您的UserProfile class.HI中。谢谢你,你说得对。我用int?HobbiesId{get;set;}试过了,成功了!。。非常感谢你!!。。
public class Hobby
{
public int ?HobbiesId { get; set; }
public int? HobbiesId { get; set; }
[ForeignKey("HobbiesId")]