Web API returns 空 json 数组

Web API returns empty json array

我在 运行 时通过我的方法(如下)进行了追踪。在代码下方,我在 return 语句之前包含了投资组合列表的调试检查的屏幕截图。我已经扩展了几个列表条目。如您所见,每个 Portfolio 对象都包含真正的数据——一个数字 ID 和一个字符串名称。

但是,Chrome 浏览器或邮递员返回的内容没有区别。

[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{} ,{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{ },{},{},{},{},{},{}]

所有数据发生了什么变化?感谢您的帮助!

    // GET: api/Portfolio
    [HttpGet]
    public List<Portfolio> Get()
    {
        List<Portfolio> Portfolios = new List<Portfolio>();

        using (SqlConnection cn = new SqlConnection(conn))
        {
            SqlCommand cmd = cn.CreateCommand();
            cmd.CommandText = sqlSelectPortfolios;
            cn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            Portfolio pf;

            while (rdr.Read())
            {
                pf = new Portfolio
                {
                    id = (int)rdr["PortfolioId"],
                    name = (string)rdr["PortfolioName"]
                };

                Portfolios.Add(pf);
            }
        }

        return Portfolios;
    }

调试:

idname 需要 public 和属性。从 3.0 开始,System.Text.Json.JsonSerializer 不序列化字段。

public class Portfolio 
{
public int id {get; set;}
public string name {get; set;}
}