2016-02-10 83 views
2

我已經在Repository類中編寫了一個方法,爲此我在Web API項目中創建了一個Controller。 以下是我的模型類:ASP.Net Web API 2方法不顯示正確的數據,但行計數正確

以下是在庫類中的方法:

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 Server中執行存儲過程時會返回正確的數據。但在Web API結束時,它是不正確的。

+0

GET_FLOORPLAN_ANALYSTS作爲存儲過程? – CodeNotFound

+0

是的,它是一個存儲過程 –

回答

1

您有此問題,因爲EmpIdEmpName屬性爲FloorplanAnalyst類與您的GET_FLOORPLAN_ANALYSTS存儲過程返回的列名稱不匹配。

要解決此問題,請確保每個屬性在存儲過程的結果查詢中都有關聯的列名稱(與屬性名稱相同)。

+0

我無法更改我的存儲過程列名稱,但我需要在前端的EmpID和EmpName。我如何使它成爲可能? –