2017-09-16 10 views
0

私はMVC4アプリケーションをWebApiメソッドで使用しており、データベースからテーブルのデータ全体を取得しています。今私はそれから2つの列だけを抽出したいと思います。どうしたらいいですか?webAPIメソッドでテーブルの特定の列を取得する方法

配列はそのように使用されていますが、.netの構文は分かりません。 これは、SQL Serverデータベースからテーブル全体のデータを取得している私のWEBAPI機能である:

namespace BRDCEP_MIS.Areas.BRDCEP.Controllers 
{ 
    public class WebApiController : ApiController 
    { 

     //api get method. 

     //[Route("WebApi/GetPscTargets")] 

     public HttpResponseMessage Get() { 
      using (ApplicationDbContext db = new ApplicationDbContext()) 
      { 

       List<PscDistrictTargets> xx = new List<PscDistrictTargets>(); 
       xx = db.PscDistrictTargetss.ToList(); 
       //xx.ID = Convert.ToString(DATA); 
       HttpResponseMessage response = new HttpResponseMessage(); 
       response = Request.CreateResponse(HttpStatusCode.OK, xx); 
       return response; 
      } 

     } 

    } 
} 

答えて

2

あなたはSelectメソッドを使用して、/あなたのDTOのオブジェクトに必要なプロパティだけで投影を行うことができますLINQクエリでこのデータを表すビューモデルを作成します。

ので

public class MyDto 
{ 
    public int TargetId { set; get; } 
    public string TargetName { set; get; } 
} 

今すぐあなたのLINQクエリは、プロパティのみを取得し、それらの私たちのDTOオブジェクトを投影するSelectメソッドを使用して更新し、あなただけのこれらのプロパティで必要なデータを表現するためにDTOクラスを作成します。

var items = db.PscDistrictTargetss 
       .Select(f => new MyDto { TargetName = f.Name, 
             TargetId = f.Id}) 
       .ToList(); 
return Request.CreateResponse(HttpStatusCode.OK, items); 

と仮定PscDistrictTargetsエンティティクラスはNameId性質を持っています。実際のプロパティ名に基づいてその部分を更新します。

+1

はい、私の問題を解決しました。 –

関連する問題