3

我用一些额外的列修改了数据库中的表 UserProfile,然后修改了 UserProfile 类以反映它们:

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string Firstname { get; set; }
    public string Surname { get; set; }
    public string School { get; set; }
}

显然,它们是名字、姓氏和学校。出于某种原因,尽管当我尝试通过以下方式加载数据时,尽管注册操作将详细信息保存到所有 3 个新列中:

var context = new UsersContext();
var user = context.UserProfiles.First(n => n.UserName == model.UserName);

它说 School 是无效的 ColumnName。我检查了它在类和表中都是一个字符串,所以有点困惑如何调试,求助!

4

1 回答 1

3

(继续对OP的评论)

您应该考虑使用 EF 迁移框架,而不是手动执行此操作 - 有许多好处,并且在内部 EF 功能发生变化的情况下更具前瞻性。

有关迁移的更多信息,请参见此处

于 2012-09-25T18:44:09.813 回答