-6
在傳遞數據集錶轉換爲列表時返回異常。錯誤返回無法將類型爲'System.Decimal'的對象轉換爲鍵入'System.String'
//here i am passing dataset tables to FromDataRow
var list = ClassA.FromDataRow(ds.Tables[1].AsEnumerable());
//here is function implementation
public class ClassA
{
public List<UserDesignation> UserDesigGrid { get; set; }
public static ClassA FromDataRow(IEnumerable<DataRow> userDesignationDetails, IEnumerable<DataRow> userContactDeails, IEnumerable<DataRow> userCategoryDetails)
{
var classA = new ClassA
{
UserDesigGrid = userDesignationDetails.Select(r => new UserDesignation
{
USER_ID = (int)r["USER_ID"],
DESIGNATION = (string)r["DESIGNATION"],
USER_TYPE = (string)r["LOCATION_TYPE"],
LOCATION = (string)r["LOCATION_ID_NAME"],
EFFECTIVE_FROM = (string)r["WEF_DATE"],
EFFECTIVE_TO = (string)r["WET_DATE"],
}).ToList()
};
return classA;
}
}
//property layer
public class UserDesignation
{
public int USER_ID { get; set; }
public string DESIGNATION { get; set; }
public string USER_TYPE { get; set; }
public string LOCATION { get; set; }
public string EFFECTIVE_FROM { get; set; }
public string EFFECTIVE_TO { get; set; }
}
返回異常而轉換
「無法投型 'System.Decimal' 的對象鍵入 'System.String'」
該錯誤似乎很自我解釋。其中一個字段是您要顯式轉換爲字符串的小數。嘗試並使用r [「DESIGNATION」]。ToString() –
嘗試使用'ToString()'方法代替投射。另外,應該檢查空值。 –
或者,使用'decimal'作爲屬性的類型而不是'string' ...我強烈要求您同時遵循.NET命名約定。 –