クラスの顧客がいます。アクセスdbデータベースからデータをロードしようとしています。
顧客クラスの構造は次のとおりです。
public class Customer
{
public int CustomerId { get; set; }
public string CustomerName { get; set; }
public string CustAddress { get; set; }
public string PnoneNo { get; set; }
public string MobileNo { get; set; }
public string CstNo { get; set; }
public string DlNo { get; set; }
public decimal BalAmt { get; set; }
}
そして、dbの私のテーブル構造は以下の通りです:
今、顧客クラスにデータをロードしようとすると、エラーがスローされます:
「指定されたキャストは無効です。」
クラスにデータをロードするために、以下のコードを使用しています:
public static List<Customer> LoadListItems(string strTable, string strOrderBy)
{
List<Customer> lstCustomer=null;
try
{
DataUtility objDataUtility = new DataUtility();
DataTable objCustomerList = objDataUtility.LoadCustomerInfo(strTable, strOrderBy);
lstCustomer= objCustomerList.AsEnumerable().Select(row =>
new Customer
{
CustomerId = row.Field<int>("CID"), //throwing error for this line
CustomerName = row.Field<string>("salPNm"),
CustAddress = row.Field<string>("cadd"),
MobileNo = row.Field<string>("cmbl"),
PnoneNo = row.Field<string>("cph"),
DlNo = row.Field<string>("cDlN"),
CstNo = row.Field<string>("cTin"),
BalAmt = row.Field<decimal>("cobal")
}).ToList();
}
catch (Exception ex)
{
throw ex;
}
return lstCustomer;
}
上記の方法CustomerId = row.Field<int>("CID"),
では、この行にコメントするとエラーがスローされ、正常に動作しています。ennumrable リストから int 値を取得する方法を教えてください。
前もって感謝します。エシュワー