MVC の新機能です。私は現在 API を作成しており、XML を返す必要がある厳密な形式を持っています。
現在、EntityModel を使用して SQL ストアド プロシージャを公開しています。次に、SP の複合型を作成しました。
SP を呼び出すコントローラーがあり、結果は XML で返されます。
これは問題ありませんが、現在の出力は次のとおりです (たとえば):
<product>
<productId>12345</productId>
<inStock>True</inStock>
<shelfLevel>10</shelfLevel>
<onOrder>0</onOrder>
<height>10</height>
<width>15</width>
<depth>12</depth>
<colour>green</colour>
</product>
ただし、次のように構成する必要があります。
<product>
<productId>12345</productId>
<availability>
<inStock>True</inStock>
<shelfLevel>10</shelfLevel>
<onOrder>0</onOrder>
</availability>
<dimensions>
<height>10</height>
<width>15</width>
<depth>12</depth>
</dimensions>
<colour>green</colour>
</product>
EntityModel と複合型の組み合わせの現在のアプローチを使用して、'availabilty' および 'dimensions' ラッパー要素を含める方法がわかりません。
以下は、既存の出力のコントローラーからの私のコードです。
// GET api/product/5
//ProductAvailability_Result is the Complex Type derived from the SP output columns
public IEnumerable<ProductAvailability_Result> Get(int id)
{
myDB_DevEntities db = new myDB_DevEntities();
//ProductAvailability is a SP consisting of a simple 'select' statement that returns the resultset
var Result = db.ProductAvailability(id);
return Result.ToList();
}
これを達成する方法について誰かが何か指針を与えることができますか? 上記の方法を使用しようとすることで、完全に間違った方法でこれにアプローチしていますか?つまり、EntityModelを捨てる必要がありますか? 構造を変更する必要があるまではうまく機能します。
アドバイスをいただければ幸いです。