使用EF To Linq執行類似sql的in語句

2022-07-18 18:33:15 字數 605 閱讀 8052

使用ef的時候,我們經常會遇到一些查出在xx中的資料,類似sql in查詢,比如查出id為18982,18976,1978的資料

我們可能會這樣寫

var wkids = "18982,18976,1978";

var wks = currentrepository.getallquery(x=> wkids.contains(x.workhour_id.tostring()));

會發現不是我們想要的結果,id為18,89,76等只要在上面id存在的都會查出來,因為我們使用的是string.contains()只要包含的都會查出來

我們需要使用的是system.linq下的contains,最後的結果就是我們的in查詢,所以需要

1.using system.linq

2.var wkids = "18982,18976,1978";

string kk = wkids.split(new string , stringsplitoptions.removeemptyentries);

var wks = currentrepository.getallquery(x=> kk.contains(x.workhour_id.tostring()));

類似java中swith case語句的sql語句

在專案中涉及到一些排序的問題,比如說一張論壇表topic中,分為置頂帖,精華帖,普通帖,需要將置頂帖排在最上面,精華帖和普通帖不做順序區分。此時設定精華帖的type為2,精華帖的type為1,普通帖為0,此時便可以運用下面的hql語句。from topic t where t.forum order...

執行mysql指令碼 mysql下如何執行sql指令碼

首要步驟 一般可省略 開啟mysql服務 預設是開機時就自動執行了 控制面板 管理工具 服務,在裡面找到名稱為mysql的項,雙擊就可看它的服務狀態是啟動還是停止,把它設為啟動 連線mysql 在命令列下輸入 mysql h localhost u root p回車,然後輸入密碼即可 或直接執行my...

執行日誌中使用佔位符 s新增變數

開發中有時候為了方便除錯,會在 中加入日誌,把執行到該行的變數列印出來,方便直觀的判斷問題。直接上demo private static final logger logger logge ctory.getlogger demotest.class public static void main ...