Сначала я объясню, что я пытаюсь сделать.
Я пытаюсь получить список новостных статей из моей структуры сущностей и преобразовать их в другой объект. Однако я получаю это исключение:
System.NotSupportedException: LINQ to Entities does not recognize the method 'Database.Entity.DataTransferObjects.NewsObject FromNews(Database.Entity.News)' method, and this method cannot be translated into a store expression.
Это мой код:
IEnumerable<NewsObject> news_articles = context.GetLatestNews(0);
public IEnumerable<NewsObject> GetLatestNews(int start)
{
IQueryable<NewsObject> latest_news = context.News.Where(news => news.Published).Select(articles => NewsObject.FromNews(articles));
IEnumerable<NewsObject> latest_news_ordered = latest_news.OrderByDescending(news => news.PublishedDate).Skip(start).Take(5);
return latest_news_ordered;
}
Это моя часть FromNews:
public static NewsObject FromNews(News news)
{
return new NewsObject
{
Id = news.Id,
Permalink = news.Permalink,
Subject = news.Subject,
Summary = news.Summary,
Content = news.Content,
Thumbnail = news.Thumbnail,
Published = news.Published,
PublishedDate = news.PublishedDate,
PublishedBy = news.PublishedBy,
CategoryId = news.CategoryId,
Publisher = MemberObject.FromMember(news.Publisher),
Category = CategoryObject.FromCategory(news.Category)
};
}
Я читал, что это проблема с тем, как построен / используется LINQ, но ни один из них не предоставил обходного пути для того, что я делаю. Я пытаюсь сделать код tiday:)!