C_Sharp 板


LINE

各位版上的大大們好 小弟遇到卡了許久的瓶頸 在專案中的Service層中有用到PredicateBuilder 用以承接SQL的資料 像是var keyword = PredicateBuilder.New<Model>(); keyword = keyword.And(m =>m.sex =="male"); keyword = keyword.And(m =>m.birthday >= "輸入者選擇的日期"); 最後再 return UserRepository.Queryable().AsExpandable().Where(keyWord); 類似這樣的寫法。 在關鍵字的搜索方面都很順,沒什麼型別上的問題, 但birthday這邊遇到了很大的瓶頸。 小弟想讓使用者選擇特定時間區段後,Service撈出該區間的使用者資訊 由於SQL中的欄位定義是nvarchar,也不能夠隨意更動SQL的欄位, 以日期A、B為判斷,拿來與資料庫中的birthday做比較(nvarchar) 在keyword = keyword.And(m => m.birthday >= "使用者選擇的日期A"); keyword = keyword.And(m => m.birthday <= "使用者選擇的日期B"); 的時候,就會一直被卡住,錯誤訊息是string不能夠與string做比較 使用者選擇的日期A、B我有辦法將它轉為int 唯獨m.birthday不知如何下手。 小弟因為對linq不熟 一開始試過Convert.Int16(m.birthday) ; int.parse(m.birthday)等常用轉型方式 到後來google才發現在linQ中是沒辦法使用這樣的轉型方式的 也查到許多資料,但大部分都是純linq的語法,PredicateBuilder的方法資訊不多 因此突然間不知道該怎麼突破這個障礙... 如果版上的大大們有可以提供的google方向,或是一些想法 希望大大們可以不吝指教<_O_> --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.101.204
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1539011602.A.4AD.html ※ 編輯: windofsmile (114.27.101.204), 10/08/2018 23:14:55 ※ 編輯: windofsmile (114.27.101.204), 10/08/2018 23:15:35 抱歉最近一直瘋狂加班 現在才上來回
1F:→ qa17b: 轉datetime比較啊? 10/08 23:17
有試過 keyWord.And(k =>Convert.ToDateTime(k.CreatDay) > 輸入時間) 但Linq中無法辨識這樣的方法
2F:→ t64141: 假設DB轉date的api是to_date(), 試試 oracle to_date by l 10/09 00:38
3F:→ t64141: inq之類的關鍵字 10/09 00:38
4F:→ t64141: 順便吐槽一下前人,時間欄位用nvarchar是在想什麼... 10/09 00:43
5F:→ t64141: 再不行就只能用SP處理後再給程式呼叫了 10/09 00:45
有找過類似的方法 不過沒有試成功QQ 用nvarchar真的是頭蠻痛的XD 而且有很多欄位都是類似情況(默
6F:推 chentsungmin: 使用 String.Compare 比較試試 10/09 01:00
後來使用String.Compare成功解出來了 keyWord = keyWord.And(m => string.Compare(m.birthday , 起始日) >= 0); keyWord = keyWord.And(m => string.Compare(m.birthday , 終止日) <= 0);
7F:→ ATPS4869: 試試 DbFuntions.CreateDateTime 10/09 18:18
這個方法後來也有試過,還是有轉型的問題(linq) 感謝樓上各位大大的指點QQ ※ 編輯: windofsmile (211.20.227.179), 10/17/2018 10:45:44 ※ 編輯: windofsmile (211.20.227.179), 10/17/2018 10:46:18 ※ 編輯: windofsmile (211.20.227.179), 10/17/2018 10:47:09







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP