2017-12-14 4 views
-2

IEnumerableアイテムを部分ビューに表示しようとすると、データベースが破棄されています。下部にあるエラー画面を確認してください。何か質問があれば、plzに聞いてください。前もって感謝します。dbコンテキストが部分ビューに配置されました

ビュー:

@model IEnumerable<Blexz.Models.Product> 

@foreach(var item in Model) 
    { 
     <span>@item.Title</span> 
    } 

コントローラー:あなたのコントローラ内部の

[ChildActionOnly] 
     [Authorize] 
     public PartialViewResult _UserBookmark(string id) 
     { 
      using (BlexzWebDbEntities db = new BlexzWebDbEntities()) 
      { 
       int userId = db.Users.Where(x => x.Email == id).FirstOrDefault().UserId; 
       IEnumerable<int> ProductIds = db.Bookmarks.Where(x => x.UserId == userId).Select(x => x.ProductId); 
       IEnumerable<Product> ListOfProducts = db.Products.Where(x => ProductIds.Contains(x.ProductId)); 

       return PartialView("_UserBookmark",ListOfProducts); 
      } 

     } 

Picture1

+0

あなたが試したことをお読みください。単なる '.ToList()'はこの問題を解決します。複製を参照してください。 – CodeCaster

+0

'(BlexzWebDbEntities db = new BlexzWebDbEntities())'行を削除し、 'var db = new BlexzWebDbEntities();'を使用してください。 –

答えて

0

編集ライン怒鳴る、私はこの作業をすることができると思います!ただし、これがまだ機能しない場合はコメントしてください。

IEnumerable<Product> ListOfProducts = db.Products.Where(x => ProductIds.Contains(x.ProductId)).ToList(); 
関連する問題