我使用一些额外的列修改了数据库中的表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。我检查它是类和表中的字符串,所以有点混淆如何调试,帮助!
答案 0 :(得分:3)
(继续对OP的评论)
您应该考虑使用EF迁移框架 - 而不是手动执行此操作 - 有许多好处,并且在内部EF功能发生变化时更具未来性。
请参阅有关迁移的here for more information