专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > LINQ

关于linq语句中调用函数的有关问题

发布时间:2011-06-24 21:54:11 文章来源:www.iduyao.cn 采编人员:星星草
关于linq语句中调用函数的问题
if (-1 != caid)//在指定类别中搜索
  {
  qas = qas.Where(qa => qa.CaID == caid);
  }
   
  qas = qas.Where(qa => (qa.PublishedTime.Value.Date >= (DateTime.Now.Date - timespan)));//关键字,时间段;
  if (ww != "")
  {  
  qas = qas.Where(qa => ((Utility.week(Convert.ToDateTime(qa.PublishedTime))) == ww));  
  }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
大家请看,在第一个查询是没有问题的,但第二个,我调用了一个自己定义的函数将日期转化成第几周再查询就要出错,错误信息是Linq无法转换自定义函数,我想问一下大家,这种情况应该怎么处理啊?在线等!

------解决方案--------------------
有一点你没有搞明白 也是 framework当时对linq 异常不完善导致的。
就是 你必须 知道 你的linq语句 是要被转换成sql执行的,你可以跟踪 查看你的 qas 其实 是一条sql语句,所以 你应该明白 它还没强大到 可以把任何 fw里的函数 或者 自定义的函数 自动转换为sql 所以会 异常。

记得一开始 一个 datetime.toshorttimestring 都会异常 不知道现在好没...
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: