我正在asp.net webAPi上工作,我创建了一个LoanInfo类,该类的值在函数中设置,最后将LoanInfo放入列表中。我想在Json中获取LoanInfo的所有值,但是List总是返回空值,例如[{},{}]。我想念的是什么。这是loanInfo
public class LoanInfo
{
private String EmpID;
private String amount;
public LoanInfo(String EmpID,String amount)
{
this.EmpID = EmpID;
this.amount = amount;
}
这是方法
public IEnumerable Get()
{
var con = new SqlConnection(sqlConStr);
List<LoanInfo> loanInfo = new List<LoanInfo>();
String query = "select EmpID,amount from employeeLoan";
var cmd = new SqlCommand(query, con);
try
{
con.Open();
SqlDataReader read = cmd.ExecuteReader();
while (read.Read())
{
loanInfo.Add(new LoanInfo(read[0].ToString(), read[1].ToString()));
}
return loanInfo.ToList();
}
catch (Exception ex)
{
String a = ex.Message;
return null;
}
finally
{
con.Close();
}
}
提前致谢!!
原因是您具有私有属性,然后在进行序列化时,它无法读取私有值。尝试在您的DTO
私有字段上设置属性。
public class LoanInfo
{
public string EmpID { get; set; }
public string Amount { get; set; }
public LoanInfo(string empID, String amount)
{
this.EmpID = EmpID;
this.Amount = amount;
}
}
我已经重构了您的代码,请尝试以下操作:
public IEnumerable<LoanInfo> Get()
{
List<LoanInfo> loanInfo = new List<LoanInfo>();
using (var con = new SqlConnection(sqlConStr))
{
try
{
con.Open();
var cmd = new SqlCommand("select EmpID, amount from employeeLoan", con);
SqlDataReader read = cmd.ExecuteReader();
while (read.Read())
{
loanInfo.Add(new LoanInfo(read[0].ToString(), read[1].ToString()));
}
}
catch (Exception ex)
{
return null;
}
finally
{
con.Close();
}
}
return loanInfo;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句