2017-12-14 1 views
-2

부분 뷰에 IEnumerable 항목을 표시하려고 할 때 db가 삭제되었습니다. 하단에 첨부 된 오류 스크린 샷을 확인하십시오. 질문이 있으면 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(); 
관련 문제