1
我試圖弄清楚從我的Web服務獲取數據的乾淨方式,即鍵/值對。如何將匿名類型轉換爲鍵值對對象
有沒有辦法採取這樣的查詢:
var q = db.Ratings.Select(x => new
{
x.pro,
x.con,
x.otherThoughts,
x.Item.title,
x.score,
x.subject
});
就會返回一個鍵值對,其中鍵將以上列出的列,與其對應的價值?
而不是創建一個單獨的類?
myDict.Add("pro", q.pro);
myDict.Add("con", q.con);
這是效率不高,創造這樣一個類不是非此即彼,尤其是如果我有許多方法:
public class Rating
{
public string pro { get; set; }
public string con { get; set; }
}
我搜索所有打開了包含前兩個代碼示例樣本。
應該很容易編寫一個反映一個對象並返回正確的'Dictionary'的方法。 另外,你可以看看使用'動態'。但是,這種方法在中等信任環境中並不是那麼脆弱,因此如果您要部署到共享託管的網站,請小心。 –
marcind
2011-05-24 02:38:09
你爲什麼認爲選擇非描述性字典比返回一個類更清潔* *方法? – 2011-05-24 02:42:30
如果我在一個名爲Ajax的Web服務中有30個方法,現在我有30個方法和30個類,愚蠢。 – 2011-05-24 02:44:49