1

我对实体框架很陌生,所以如果这是一个愚蠢的问题,我深表歉意......

这是我的 POCO:

[Table("RegistrationCodes")]
public class RegistrationCode
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public Guid Code { get; set; }

    public int? UserId { get; set; }

    [ForeignKey("UserId")]
    public UserProfile User { get; set; }

    [StringLength(500)]
    public string Notes { get; set; }
}

当我使用下面的代码从我的 DBSet 中检索对象时,UserId 始终为空。

return this.Context.RegistrationCodes.FirstOrDefault(c => c.Code == code);

我检查了数据库并确认 UserId 不为空。此外,我已经分析并且可以看到正在从数据库请求 UserId。

任何帮助将不胜感激。

4

1 回答 1

1

啊啊啊,我不觉得自己很傻吗...

这就是发生的事情,我运行代码,我可以看到数据库中的 UserId 字段已更新。每次我重新启动应用程序时,代码迁移都会运行 add 对表执行 AddOrUpdate 操作,这将使 UserId 列无效。

我们可以一起删除这个问题吗?

于 2013-06-26T17:45:01.910 回答