首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq查询有关问题

2012-01-12 
linq查询问题,var cardmanages from c in dc.cardmanage//from r in dc.Review//where c.ID r.card_i

linq查询问题,
var cardmanages = from c in dc.cardmanage
  //from r in dc.Review
  //where c.ID == r.card_id
  //let a = c.card_start.CompareTo(c.card_end)
  //let a=c.review_id
  let a = long.Parse(c.card_end)
  let b = long.Parse(c.card_start)
  let ab = a - b
  where c.card_name == CardName
  //where DateTime.Parse(startDate)>=DateTime.Parse(c.card_date)

  select new Class1
  {
  name = c.card_name,
  Inv = ab,
  card_id = c.ID

  //time="aaa"
  };
  return cardmanages.ToList();

card_end,card_start均为字符型,要求输出card_end-card_start的结果,显示如下错误:
无法将表达式“Parse(<>h__TransparentIdentifier2.c.card_start)”转换为 SQL 并且无法将它视为局部表达式。
这是什么原因,大家帮忙给看看

[解决办法]
变换long.Parse方法为Convert.ToInt64方法即可
代码参考

C# code
from item in Authorslet a=Convert.ToInt64(item.Zip)let b=Convert.ToInt64(item.Zip)let c=a-bselect new {    id=item.Au_id,    c    } 

热点排行