目標
ストアド プロシージャの結果をビューに表示したいと考えています。
問題
Entity Framework は、プロシージャを実行するメソッドを自動的にインポートしましたが、画面に表示されるはずの結果が得られません。
インポートされた関数は次のとおりです。
public virtual ObjectResult<getProductsListForHome_Result> getProductsListForHome(Nullable<int> inOffer, Nullable<int> categoryId)
{
var inOfferParameter = inOffer.HasValue ?
new ObjectParameter("inOffer", inOffer) :
new ObjectParameter("inOffer", typeof(int));
var categoryIdParameter = categoryId.HasValue ?
new ObjectParameter("categoryId", categoryId) :
new ObjectParameter("categoryId", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<getProductsListForHome_Result>("getProductsListForHome", inOfferParameter, categoryIdParameter);
}
私がすでに試したこと
ProductsController で:
//
// GET: /Products/
public ActionResult Index()
{
ObjectResult<getProductsListForHome_Result> products = db.getProductsListForHome(1, 14);
return View(products.ToList());
}
前のコードを使用すると、アクセスするhttp://myapp.com/Products/
と次のメッセージが表示されます。
ディクショナリに渡されるモデル アイテムのタイプは「System.Collections.Generic.List
1[MyApp.Models.getProductsListForHome_Result]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[MyApp.Models.bm_products]」です。
これを解決するにはどうすればよいですか?