我在 Repository 类中编写了一个方法,并在 Web API 项目中为其创建了一个 Controller。 以下是我的模型类:
namespace Meijer.Merch.Space.Data
{
public class FloorplanAnalyst
{
public int EmpId { get; set; }
public string EmpName { get; set; }
}
}
Repository类中的方法如下:
public IEnumerable<FloorplanAnalyst> GetFloorplanAnalyst()
{
return this.Database.SqlQuery<FloorplanAnalyst>("GET_FLOORPLAN_ANALYSTS").ToList();
}
以下是我的 Controller 方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace SpaceWebApi.Controllers
{
/// <summary>
/// Controller used for the retrieving of FloorplanAnalyst information
/// </summary>
public class FloorplanAnalystController : ApiController
{
private ISpaceRepository db = new SpaceRepository();
/// <summary>
/// Returns a list of FloorplanAnalysts.
public IEnumerable<FloorplanAnalyst> GetFloorplanAnalyst()
{
return db.GetFloorplanAnalyst();
}
}
}
但我得到以下记录作为我的结果(返回 27 行):
{
"EmpId": 0,
"EmpName": null
},
{
"EmpId": 0,
"EmpName": null
}
}
在 SQL Server 中,执行存储过程时会返回正确的数据。但是在 Web API 端它是不正确的。
最佳答案
您遇到此问题是因为 FloorplanAnalyst
类中的 EmpId
和 EmpName
属性与您的 GET_FLOORPLAN_ANALYSTS 返回的列名称不匹配
存储过程。
要解决此问题,请确保每个属性在存储过程的结果查询中都有关联的列名(与属性同名)。
关于c# - ASP.Net Web API 2 方法未显示正确数据但行数正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35308656/