2016-08-29 34 views
0

我需要使用其中包含数据库数据的模型填充我的文章ViewModel,但是我有一种方法需要将其分配给我的某个属性使用数据模型用方法填充视图模型以及

图像列表是需要该方法的属性。 为文章列表中的每个项目调用该方法一次。

这里是我的代码:

 public ActionResult ArticleTypes(string at) 
     { 
      articleViewModel.Images = new List<ImageInfo>(); 
      var query = (from a in db.Articles 
         where a.SelectedArticleType == at 
         select new ArticlesViewModel 
         { 
          Id = a.Id, 
          Body = a.Body, 
          Headline = a.Headline, 
          PostedDate = a.PostedDate, 
          SelectedArticleType = a.SelectedArticleType, 
          UserName = a.UserName, 


         }).ToList(); 
      articleViewModel.Images = imageService.GetImagesForArticle(articlemodel.Id.ToString()); 


      return View(query); 
    } 

我也试图把方法的LINQ内:

public ActionResult ArticleTypes(string at) 
    { 
     articleViewModel.Images = new List<ImageInfo>(); 
     var query = (from a in db.Articles 
        where a.SelectedArticleType == at 
        select new ArticlesViewModel 
        { 
         Id = a.Id, 
         Body = a.Body, 
         Headline = a.Headline, 
         PostedDate = a.PostedDate, 
         SelectedArticleType = a.SelectedArticleType, 
         UserName = a.UserName, 
         Images = imageService.GetImagesForArticle(a.Id.ToString()) 
        }).ToList(); 



     return View(query); 
} 

它抛出的异常: 'System.NotSupportedException' 类型的异常发生在EntityFramework.SqlServer.dll中,但未在用户代码中处理

附加信息:LINQ to Entities不能识别该方法“System.Collections.Generic.List`1 [New_MinecraftNews_Webiste_MVC.Models.ImageInfo] GetImagesForArticle

+0

要显示的列表视图中的图像? –

+0

我还没有很好地理解这个问题。你是否意味着每次创建ArticlesViewModel时都需要调用imageService.GetImagesForArticle(id)? –

+0

在一个视图中,我想显示图像列表,例如文章的页面和其他我想要的第一张图片@Reddy –

回答

0

我加了一个foreach循环末insted的别的和它的作品:

public ActionResult ArticleTypes(string at) 
    { 
     articleViewModel.Images = new List<ImageInfo>(); 
     var modelList = (from a in db.Articles 
        where a.SelectedArticleType == at 
        select new ArticlesViewModel 
        { 
         Id = a.Id, 
         Body = a.Body, 
         Headline = a.Headline, 
         PostedDate = a.PostedDate, 
         SelectedArticleType = a.SelectedArticleType, 
         UserName = a.UserName 
        }).ToList(); 


     foreach (var model in modelList) 
     { 
      model.Images = imageService.GetImagesForArticle(model.Id.ToString()); 
     } 


     return View(modelList); 
} 
相关问题