2

MVC4 で制御される最初の API を開発し、足場を介してアイテムのリストを自動的に出力するようにしました。

// GET api/ItemList
public IEnumerable<ItemOption> GetItemOptions()
{
    var itemoptions = db.ItemOptions.Include(i => i.Item);
    return itemoptions.AsEnumerable();
}

これは、私のモデルのすべてのアイテム プロパティを示しています。

public class ItemOption
{
    public int ItemOptionId { get; set; }
    public bool Active { get; set; }
    public string Name { get; set; }
    public string test1 { get; set; }
    public double PriceNet { get; set; }
}

返してほしい特定のフィールドを指定するにはどうすればよいですか? たとえば、ItemOptionId、Active、および Name が返されるようにしたいだけです。

追加のインクルードを追加しようとしましたが、これはオブジェクト レベルのようです。

4

2 に答える 2

2

返したいプロパティを表す新しい型を作成してみてください。

public class ItemOptionResult
{
    public int ItemOptionId { get; set; }
    public bool Active { get; set; }
    public string Name { get; set; }
}

そして、次ItemOptionのようにコレクションを投影します。

// GET api/ItemList
public IEnumerable<ItemOptionResult> GetItemOptions()
{`enter code here`
    var itemoptions =
        db.ItemOptions
          .Select(i => 
           new ItemOptionResult
           { 
               ItemOptionId = i.ItemOptionId, 
               Active = i.Active, 
               Name = i.Name 
           });
    return itemoptions.AsEnumerable();
}
于 2013-10-29T14:57:14.590 に答える