Asp.Net類型“System.Decimal”的對象無法轉換爲類型“System.Int32”

Oracle某個字段是Number類型,實體用了Int類型,底層查詢代碼就會報錯:類型“System.Decimal”的對象無法轉換爲類型“System.Int32”。

#region DataReader轉化爲實體
protected T PopulateDataReaderToModel<T>(IDataReader reader) where T : new()
{

    T item = default(T);
    item = new T();
    Type type = typeof(T);
    List<string> DbFieldList = type.GetProperties().Where(s => s.Name != "DataTable_Action_").Select(s => s.Name).ToList<string>();
    foreach (string info in DbFieldList)
    {
        if (reader[info] != null && reader[info] != System.DBNull.Value)
        {
            type.GetProperty(info).SetValue(item, reader[info], null);
        }
    }
    return item;
}
#endregion

解決方法:

把實體Int類型改爲decimal類型就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章