1
我的下一個IQueryable的其中一個過濾器Double值:Linq查詢動態,其中雙
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
有人能幫助我嗎?
謝謝!
不知道爲什麼你會不使用強類型'其中c.MID> 13.5f:使用「F」字
..這被翻譯成給我的解決辦法',但也許你的問題已經是與您的區域性設置(即它的解釋小數點作爲千位分隔符)? – 2013-02-18 18:06:14
嘗試'decimal'或'float',而不是'double' – spajce 2013-02-18 18:07:44
這是一個動態過濾器,所以我需要使用Linq Dymnamic。我有同樣的問題「」轉換13.5至135。 – user2084268 2013-02-18 18:10:16