namespace PPMIS.SysManage
{
    [System.ComponentModel.DataObject]
    public class TrainTZRJ
    {
        private GeneralInfoDataContext cDataContext = new GeneralInfoDataContext();        /// <summary>
        /// 获取实体信息
         /// </summary>
        /// <param name="ID">编号</param>
        /// <returns>储实体信息</returns>
        public IList<TZ_BSR> getTrainTZRJ(int TrainID)
        {
            IList<TZ_BSR> query;
            try
            {
                query = (from c in cDataContext.TZ_BSR where c.TrainID == TrainID select c).ToList();            }
            catch (System.InvalidOperationException e)
            {
                throw (new ApplicationException("该名单不存在", e.InnerException));
            }            return query;
        }
     }
  }
错误  2   运算符“==”无法应用于“string”和“int”类型的操作数

解决方案 »

  1.   

    菜鸟看看,
    c.TrainID == TrainID   运算符“==”无法应用于“string”和“int”类型的操作数 
    把int转换成string再比较试试?
      

  2.   

    c.TrainID如果是这样点出来的就应该要强转
      

  3.   

    按照TrainID 获取TZ_BSR??
    你试下trainID。
      

  4.   

    c.TrainID == TrainID.ToString()
      

  5.   

    按照TrainID获取TZ_BSR
    你试下TrainID换成trainID
      

  6.   

    很明显是==两边数据类型不对啊,一个是int,一个是string,如果确实可以进行比较,就将类型强制转换成相同的类型再进行比较
      

  7.   

    从这里可以看出你传入的TrainID是int类型
    public IList<TZ_BSR> getTrainTZRJ(int TrainID)
    而你在这里出现string与int无法比较
    query = (from c in cDataContext.TZ_BSR where c.TrainID == TrainID select c).ToList();
    说明c.TrainID是string类型。那么改一下LINQ查询为
    query = (from c in cDataContext.TZ_BSR where c.TrainID == TrainID.ToString() select c).ToList();