Linq查询动态在哪里加倍

时间:2013-02-18 18:03:06

标签: linq dynamic double where

我有下一个IQueryable过滤Double值:

var pQuery =
        (from c in db.TABLE
         select new
             {
                cDate = c.DATE,
                dMid = (double)c.MID,
             })
             .Where("dMid > 13.5");

当我看到IntelliTrace时,Linq会生成下一个查询:

select DATE, MID
from TABLE
where MID > cast(135 as float(53))

我不是为什么Linq删除小数分隔符并将过滤器表达式从13.5转换为135。

有人可以帮助我???

感谢!!!!

1 个答案:

答案 0 :(得分:0)

最后它比我想象的要容易。用户lc。给我使用“f”字符的解决方案

var pQuery =
    (from c in db.TABLE
     select new
         {
            cDate = c.DATE,
            dMid = (double)c.MID,
         })
         .Where("dMid > 13.5f");

..这被翻译为:

select DATE, MID
from TABLE
where MID > cast(13.5 as float(53))