ASP.Net Web API 2 方法未显示正确数据但行数正确

ASP.Net Web API 2 method not showing correct data but row count is correct

我在 Repository class 中编写了一个方法,为此我在 Web API 项目中创建了一个 Controller。 以下是我的模型 class:

namespace Meijer.Merch.Space.Data
{
    public class FloorplanAnalyst
    {
        public int EmpId { get; set; }

        public string EmpName { get; set; }
    }
}

存储库中的方法如下class:

public IEnumerable<FloorplanAnalyst> GetFloorplanAnalyst()
        {
            return this.Database.SqlQuery<FloorplanAnalyst>("GET_FLOORPLAN_ANALYSTS").ToList();
        }

以下是我的控制器方法:

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执行存储过程时返回服务器正确数据。但是在 Web API 端它是不正确的。

您遇到此问题是因为 EmpIdEmpName 属性进入 FloorplanAnalyst class 与您的 GET_FLOORPLAN_ANALYSTS 存储过程返回的列名不匹配.

要解决此问题,请确保每个 属性 在存储过程的结果查询中都有一个关联的列名(与 属性 同名)。