2017-01-07 10 views
0

私は、以下のスクリーンショットのようにデータベースモデルを持っています。Entity Frameworkで継承を持つオブジェクトを見つけよう

enter image description here

私は、派生属性(それは例えばゲームだ場合、それは本やPEGIだ場合はISBNコード)をページ内の製品を表示したいです。 Webレイヤーから製品を取得する最善の方法は何ですか?今、製品を取得するメソッドFindProduct(long productId)がありますが、それをどのようにしてインスタンスを取得できますか? (私はProductDaoBookDaoGameDaoを持っています)ありがとう。

public Product FindProduct(long productId) 
{ 
    return ProductDao.Find(productId); 
} 
+0

あなたは、画面の表示を追加していただけますか?それは現れなかった。 – kat1330

+0

ところで、常に同じ作業コードのサンプルとコードを貼り付けてください。それ以外の場合、コミュニティはdownvote :) – kat1330

答えて

1

この例では、あなたがis..asチェーン上でそれを置き換えることができるより、dynamicを使用したくない場合は、ASP.NET MVC/Core を使用した場合には、それをachiveする方法を示しています。

public class ProductController : Controller 
{ 
    public ViewResult Product(long productId) 
    { 
     var product = FindProduct(productId); 
     var productView = GetRelevantProductView((dynamic)product); 
     return productView; 
    } 

    private void GetRelevantProductView(Book book) 
    { 
    return View("BookView", book); 
    } 

    private void GetRelevantProductView(Game game) 
    { 
    return View("GameView", game); 
    } 

}

+0

'動的'完全に動作し、それは私が応答していた、ありがとう! –

関連する問題