[英]Convert Dictionary to anonymous object in c#?
我有一個用 C# 構建的 Web API。 此 Web API 用作查詢 SQL 數據庫的前端。 我使用 SqlKata 作為引擎來執行查詢。 生成 WHERE 子句時,SqlKata 文檔說明如下:
多個字段
如果要針對多個字段過濾查詢,請傳遞一個表示列/值的對象。
var query = new Query("Posts").Where(new {
Year = 2017 ,
CategoryId = 198 ,
IsPublished = true,
});
我希望能夠避免對 WHERE 子句進行硬編碼,而是基於傳入的查詢字符串。 我的想法是將每個查詢字符串名稱和值添加到字典中,然后以某種方式在 SqlKata .Where() 子句中使用該字典的值。 我想也許我可以將 Dictionary 轉換為所需的匿名對象,但我無法讓它工作。 關於如何做到這一點的任何想法? 所以我的網址可能是:
https://webapi.com.au/api?store=120&name=james
字典:store=120 name=james
查詢:var query = new query("Posts").Where(anonObject)
( anonObject 將是 {store=120,name=james} )
您不需要匿名對象。 查看 SqlKata 文檔,您可以通過遍歷字典來構建查詢,如下所示:
//Assuming the dictionary is something like Dictionary<string, object>
var query = new Query("Posts");
foreach(var element in dictionary)
{
query = query.Where(element.Key, element.Value);
}
var result = query.Get();
注意:以前從未聽說過 SqlKata,所以這只是查看文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.