.NET Core 2.1 升级到 3.0 后,web api returns 空对象

After .NET Core 2.1 to 3.0 Upgrade, the web api returns empty objects

从 .net core 2.1 升级到 3.0 后,web api 是 returning 空对象。 API 路由工作正常,我可以看到网络试图 return 所有对象。然而,在 chrome 的网络选项卡上,我只能看到响应中的空数据对象(但对象的数量与 Web 尝试 return 的数量相匹配)。

尝试查看 MSDN 中发布的迁移问题,但 none 似乎适用于这种情况

建议使用 DataContract/DataMember 属性提供类似答案,但这没有帮助。

数据模型

public class FileDataModel
    {
        public double sNo;
        public DateTime createdDate;
        public string FileName;        

        public FileDataModel(DataRow data)
        {
            sNo = (data["Sno"] == DBNull.Value) ? -1 : (double)data["Sno"];
            createdDate = (DateTime)data["Date"];
            FileName = (string)data["FileName"];           
        }
    }

API 控制器(.NET 4.7.2 Class 库)

[Route("api/[controller]")]
    [ApiController]
    public class DataController : ControllerBase
    {

        static DataController()
        {            
        }

        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<FileDataModel>> Get()
        {
            List<FileDataModel> data = FileData.getAllData();
            return data;
        }
    }

.NET 核心项目 - Startup.cs

services.AddMvc().AddApplicationPart(Assembly.Load("WebApi")).AddControllersAsServices();

预期结果是所有 FileDataModel 对象都收到完整数据,但我收到的是

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

问题是 FileDataModel 没有将变量公开为 public 属性。一旦我改变了它,它就起作用了。