我跑在我的ASP.NET MVC3應用程序查詢,以便從數據庫中獲取一些數據:ASP.NET MVC動態數字型
var idQuery = "SELECT " + dynamicColumnName + " FROM " + dynamicTableName;
long[] idItems = db.Database.SqlQuery<long>(idQuery).ToArray();
但是,動態欄有時int
int類型,有時long
。我試圖long
,因爲它涵蓋了INT,但節目拋出的異常:
從物化「System.Int32」類型指定的強制轉換到「System.Int64」類型無效。
我試過型dynamic
,但不能得到的數字權:
dynamic[] idItems = db.Database.SqlQuery<dynamic>(idQuery).ToArray();
long[] idItemsLong = new long[idItems.Length];
for (int i = 0; i < idItemsLong.Length; i++)
{
idItemsLong[i] = Convert.ToInt64(idItemsLong[i]);
}
拋出異常:
無法轉換類型 'System.Object的' 對象鍵入'System.IConvertible'。
我能做些什麼工作我的查詢運行於int
s和long
s?獲取動態類型並將它們轉換爲長時間工作的方法,我可以在隨後的代碼行中使用idItems。
拋出異常: 無法將類型爲「System.Object」的對象轉換爲鍵入「System.IConvertible」。 –
請在您首先發布答案之前嘗試。 –