当前位置:编程学习 > C#/ASP.NET >>

System.Data.SqlClient.SqlException: 列名 'UserType' 无效。

通过LINQ ORM 我把一个表映射为实体,当进行Select操作时就出现这样的错误。
dcIM.Companies.Where(c=>c.UserType=="3").ToList();
莫名其妙,望热心朋友帮帮忙。

备注:
1.数据库表有主键定义
2.只SELECT单列时,有些列可以,有些不可以,其中有两列除了命名不同其它可以说完全相同,但就是一列可以,一列不可以(即会产生列名无效错误)
3.我搜了下网上的资料,不能查到什么有帮助的信息


具体的错误信息:
捕捉到 System.Data.SqlClient.SqlException
  Message="列名 'UserType' 无效。"
  Source=".Net SqlClient Data Provider"
  ErrorCode=-2146232060
  Class=16
  LineNumber=1
  Number=207
  Procedure=""
  Server="192.168.1.12"
  State=1
  StackTrace:
       在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
       在 System.Data.SqlClient.SqlDataReader.get_MetaData()
       在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
       在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
       在 System.Data.Common.DbCommand.ExecuteReader()
       在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
       在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
       在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
       在 System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
       在 BLL.Companies.getCompaniesByOrgID(Int32 curOrgUID) 位置 E:\Personal\My Documents\Visual Studio 2008\Projects\IMS.sln\BLL\Companies.cs:行号 110
  InnerException: 

--------------------编程问答-------------------- 问题已解决,低级错误,连接字符串指向旧版数据库导致字段不匹配。 --------------------编程问答-------------------- 呵呵 原来是没有连接到正确的数据库呢。 --------------------编程问答-------------------- 表中没有这个字段,肯定报错了
--------------------编程问答-------------------- 哈哈我来迟了
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,