在工作中遇到個問題,在使用lamda查詢資料的時候,需要新增乙個時間判斷, datetime.adddays(3) > e.expirationdate
例如:list = context.voucherusersignplview.where(e => e.isuse == isuse && e.expirationdate >= datetime.now && datetime.adddays(days) > e.expirationdate).tolist();
當然,這段**能夠完全通過編譯,但問題來了,當執行到該句時,卻報錯了
--->其他資訊: linq to entities 不識別方法「system.datetime adddays(double)」,因此該方法無法轉換為儲存表示式。
問題很明顯,不識別adddays方法,只能換個東東,於是 entityfunctions 類 登場了, 實體方法s,一目了然。
msdn 上面的解釋 :提供在 linq to entities 查詢中,公開概念模型規範函式的公共語言執行時 (clr) 方法。
於是選用了自己需要的方法 entityfunctions.diffdays。
使用後:list = context.voucherusersignplview.where(e => e.isuse == isuse && e.expirationdate >= datetime.now && system.data.objects.entityfunctions.diffdays(datetime.now, e.expirationdate) <= days).tolist();
執行無異常。
LAMDA表示式學習
1.普通繫結 public void button1 click object sender,eventargs e this.button1.click button1 click 2.匿名委託 this.button1.click delegate object sender,eventargs...
lamda表示式學習
lamda表示式 格式 形參列表 作用 簡化匿名方法的書寫,可用在任何可使用匿名方法和強型別 的地方 例子 using system using system.collections.generic using system.linq using system.text namespace lamd...
LINQ和Lambda表示式
前段時間接觸了一種新的表示式,但是不知道這個是什麼意思,所以就先站在巨人的肩膀用了,現在聽師哥說這種寫法是 lambda 表示式。我一直以為,這個 lambda 表示式和 linq 查詢有異曲同工之妙,可惜,這樣想就大錯特錯了。定義語言整合查詢 language integrated query 允...