我編寫了一個應用程序,用作代理從數據庫查詢數據並自動將其加載到分佈式Web緩存中。LINQ-to-SQL:ExecuteQuery(類型,字符串)填充一個字段,但不填充另一個
我這樣做是通過在配置中指定一個sql查詢和一個類型。實際執行所述查詢的代碼看起來是這樣的:
List<Object> result = null;
try { result = dc.ExecuteQuery(elementType, entry.Command).OfType<Object>().ToList(); }
catch (Exception ex) { HandleException(ex, WebCacheAgentLogEvent.DatabaseExecutionError); continue; }
elementType
距離(使用Type.GetType()
)在配置中指定的類型創建一個System.Type的,並且是entry.Command
SQL查詢。
我遇到看起來像這樣的問題,具體的實體類型:
public class FooCount
{
[Column(Name = "foo_id")]
public Int32 FooId { get; set; }
[Column(Name = "count")]
public Int32 Count { get; set; }
}
SQL查詢看起來是這樣的:
select foo_id as foo_id, sum(count) as [count]
from foo_aggregates
group by foo_id
order by foo_id
出於某種原因,在執行查詢, 「計數」屬性結束填充,但不是「FooId」屬性。我試着自己運行查詢,並返回正確的列名稱,列名與我在映射屬性中指定的內容匹配。幫幫我!
@BFree - 編輯一個問題只是爲了改變別人的編碼風格只是簡單的恕我直言。請不要。 – 2009-02-26 16:18:12
我的不好。我不認爲你真的打算這麼做,我認爲這是一個意外。 – BFree 2009-02-26 16:27:18
@Daniel - 發佈強制用戶滾動閱讀的代碼是讓他們忽略你的問題的好方法。在試圖幫助的人尋找是一種更好的方式..... – 2009-02-26 16:33:57