我在VS 2012中使用MVC 4模板。我启用了一个注释部分,用于将登录用户的UserId存储到表中。当我显示评论时,我想从UserProfiles表中显示用户的用户名和电子邮件。
我尝试过以下代码:
public static string GetUserName(int userId)
{
using (var db = new UsersContext())
{
return db.UserProfiles.Single(x => x.UserId == userId).UserName;
}
}
但我得到一个例外:
The model backing the 'UsersContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).
有什么建议吗?
答案 0 :(得分:0)
该例外非常具有描述性。您的模型不反映数据库的外观。我建议您阅读有关code first migrations的内容,基本上,迁移的意思是您更新数据库以匹配模型,在VS中使用一行命令完成。
希望这有帮助
我还建议您使用.Find()
或.First()
代替.Single()