如何获得实体框架代码第一个和可以为空的外键属性工作?
我正在尝试创建一个简单的实体框架代码第一个应用程序。我有这些课程:
public class User
{
public int UserId { get; set; }
public string Username { get; set; }
public virtual ActivationTicket ActivationTicket { get; set; }
}
public class ActivationTicket
{
public int ActivationTicketId { get; set; }
public virtual User User { get; set; }
public string Ticket { get; set; }
}
当我尝试创建一个新用户并将其保存到数据库(没有ActivationTicket的用户)时,我收到一个异常
INSERT语句与FOREIGN KEY约束“ActivationTicket_User”冲突。冲突发生在数据库“Test”,表“dbo.ActivatioTickets”,列'ActivationTicketId'中。该语句已终止。
我假设EF将User和ActivationTicket之间的映射视为1-1,但它应该是1-0..1
我该怎么做才能让它发挥作用?
没有找到相关结果
已邀请:
2 个回复
闪票仇门韧
夏瓤跋棘
这是重要的部分:
这将在ActivasionTicket的“User”表中指定foreignkey,并定义它是可选的。 学分去: http://forums.asp.net/t/1948351.aspx?Change+Foreign+Key+to+nullable+using+Code+First#5554732 我有同样的问题,它立即为我工作。 另外作为注释,我用数据注释“[Key]”标记了所有主键。这可能是必要的,以使这项工作。