前因
使用linq語句在資料庫中查詢一段時間內的資訊。將表中的資料給實體,尷尬的是表中date這個欄位是string型別,需要轉換。
**
liststarttime = (from u in dbcontext.t_user
join a in dbcontext.t_addmcoinrecord on u.userid equals a.userid
join g in dbcontext.t_department on u.departmentid equals g.departmentid
where (start <= convert.todatetime(a.date) && convert.todatetime(a.date) <= end)
where (g.departmentname == usergrade)
select new stagemodel()
).tolist();
執行走起——>報錯:不識別方法
那這怎麼轉換呢?
最好的方式就是不在linq與裡邊轉化哈,先按著其他條件,沒有時間的條件查出來資訊給實體。然後再對實體的字段轉換型別進行時間的篩選。
**
liststarttime = (from u in dbcontext.t_user
join a in dbcontext.t_addmcoinrecord on u.userid equals a.userid
join g in dbcontext.t_department on u.departmentid equals g.departmentid
where (g.departmentname == usergrade)
select new stagemodel()
).tolist();
for (int i = 0,j=0
; i < liststarttime.count; i++)
}
說點啥:遇到問題沒有很快的想出解決方案,還是我的套路還是沒有用好。套路要用到問題還沒有出來我們就會知道解決方案了。。。 linq中轉換型別報錯
錯誤 linq to entities 不識別方法 int32 toint32 system.string 因此該方法無法轉 上面報錯是因為在linq 表示式中無法識別convert和parse方法,也就是不能呼叫。因為他要解析lamda表示式 而不是去解析c 的方法。解決辦法就是在linq表示式外...
sql語句 型別轉換
簡介 資料型別轉換可以通過cast 和convert 函式來實現。大多數情況下,這兩個函式是重疊的,它們反映了sql語言的演化歷史。這兩個函式的功能相似,不過它們的語法不同。雖然並非 所有型別的值都能轉變為其他資料型別,但總的來說,任何可以轉換的值都可以用簡單的函式實現轉換。語法 cast expr...
Linq語句彙總
常用select操作舉例 取得單個記錄 id為3的分類 datacontext.categories.single c c.id 3 取得全部記錄 全部分類 datacontext.categories 得部分記錄 所屬分類id為3的公告,按id降序排列 return from b in datac...