我想通過不調用10.000次(實際編號)相同的查詢來優化我的查詢調用。C#Linq multi OR
var myObject= _db.myObject.FirstOrDefault(x => x.property1 == param1 && x.property2 == param2 && x.property3 == 3);
所以我想
讓我們通過myOtherObject的列表功能。 myOtherObject包含通常填充param1,2和3的字段。
在普通查詢中,我將在foreach中創建一個字符串並將其連接。像這樣:
// WHERE (property1 = param1 && property2 = param2 && property3 = param3) OR (property1 = param1 && property2 = param2 && property3 = param3) OR (property1 = param1 && property2 = param2 && property3 = param3)
我該如何在LINQ中實現(如果可能)。 是否有可能連接多個OR
Ofcourse我試着concat任何和嘗試在哪裏,但沒有工作,因爲它創建AND語句(邏輯)。
語境
我在我自己的數據庫中的對象。我需要比較數據庫中的另一個對象,我只有只讀訪問權限。我可以在3個參數的組合上匹配這兩個對象。
INPUT
列表對象A的(其中必須匹配所需的3場)
輸出
從其他(只讀)數據庫,我想列出匹配對象的。
爲什麼不在數據庫中創建參數化存儲過程並使用它?這是一個完美的用例。 – Robert
我只能從這個數據庫讀取。我不確定存儲過程是否會被接受。感謝您的想法! – JochemQuery
不好意思說,但沒有把你想要的輸出作爲輸入,當你問一個問題時,總是試着專注於你的輸入/輸出,什麼能讓我們知道你做了什麼以及我們該怎麼做。 –