2013-03-21 2 views
2

получая ошибку нижеLINQ к Entities не распознает метод 'System.Object get_Item (System.String)'

LINQ к Entities не распознает метод «System.Object get_Item (System.String) 'метод, и этот метод не может быть переведено в магазин выражение

Попытка получить данные из БД для Postobject и отправить его в формат JSON. PostComments - от 1 до многих отношений Почты. Сначала я использую EF 5.x.

try 
     { 
      IEnumerable<Post> userPosts; 
      userPosts = (from q in db.Posts 
         where q.UserId == userId 
         && q.PostId > postid 
         select q).Take(5); 


      return Json(userPosts.Select(x => new 
      { 
       success = 1, 
       contenttext = x.PostContent, 
       postId = x.PostId, 
       comments = x.PostComments //is a child collection object 
      }), JsonRequestBehavior.AllowGet); 

     } 
     catch (Exception ex) 
     { 
      return Json(new { success = 0 }); 

     } 
     finally 
     { 
      //db.Dispose(); 
     } 
+0

Код, который вы опубликовали, является правильным - есть ли что-нибудь еще? –

+0

Попробуйте положить '.ToList()' before', JsonRequestBehavior.AllowGet', чтобы заставить оценку раньше попытаться выяснить, какая часть не работает. –

+0

Я получаю ту же ошибку, когда я добавляю ToList LINQ to Entities, не распознает метод 'System.Object get_Item (System.String)', и этот метод не может быть переведен в выражение хранилища. –

ответ

1

Я не уверен, что вы уже пробовали это.

return Json(userPosts.Select(x => new 
     { 
      success = 1, 
      contenttext = x.PostContent, 
      postId = x.PostId, 
      comments = x.PostComments //is a child collection object 
     }).ToList(), JsonRequestBehavior.AllowGet); 
Смежные вопросы