EF的列名无效

时间:2012-09-25 18:12:46

标签: entity-framework

我使用一些额外的列修改了数据库中的表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; }
}

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

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

它表示School是一个无效的ColumnName。我检查它是类和表中的字符串,所以有点混淆如何调试,帮助!

1 个答案:

答案 0 :(得分:3)

(继续对OP的评论)

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

请参阅有关迁移的here for more information