在Asp.net MVC中这个错误的本质是什么

时间:2014-12-14 11:57:13

标签: asp.net-mvc asp.net-mvc-4 nhibernate

Unknown column 'user0_.Id' in 'field list'

Description:       An unhandled exception occurred during the execution of the current
                   web request. Please review the stack trace for more information
                   about the error and where it originated in the code. 

Exception Details: MySql.Data.MySqlClient.MySqlException: Unknown column 'user0_.Id'
                   in 'field list'

Source Error: 


Line 31:         public  ActionResult Login(AuthLogin formlogin,string returnurl)    
Line 32:         {    
Line 33:             var MUser = Database.Session.Query<user>().FirstOrDefault(u => 
u.username == formlogin.Username);    
Line 34:             if(MUser==null)    
Line 35:                 user.FakeHash()

错误在第33行

1 个答案:

答案 0 :(得分:0)

如果没有你的NHibernate映射和一些关于底层MySQL表结构的片段,很难判断。

但正如例外所述,NHibernate创建了这样的查询,在其SELECT cluase ('field list')中生成了不存在的名称(SELECT user0_.Id ...)

可能的原因可能是:

  • 错误的映射。 id列应为{的 User_ID
  • 流畅的映射和一些期望将ID列命名为id的约定 - 明确更改约定ar mapp
  • 确保数据库未设置为区分大小写模式(ID而不是id)

如果这些提示还不够,请不要犹豫,并使用更多/映射详细信息扩展问题