Моя проблема в том, что я пытаюсь вернуть простой запрос, содержащий объект Story. У объекта Story в таблице есть UserId, который ссылается на столбец UserId aspnet_users. Я создал частичный класс для Story, который добавляет свойство UserName, поскольку оно не существует в самой таблице.
Следующий запрос получает все истории; однако, помощник по разбиению на страницы принимает запрос и возвращает только то, что необходимо, после того как он передается обратно в контроллер.
public IQueryable<Story> FindAllStories(){
var stories = (from s in db.Stories
orderby s.DateEntered descending
select new Story
{
Title = s.Title,
StoryContent = s.StoryContent,
DateEntered = s.DateEntered,
DateUpdated = s.DateUpdated,
UserName = s.aspnet_User.UserName
}
);
return stories;
}
Когда помощник выполняет .count () на источнике, он бомбит со следующим исключением:
"Явное построение типа объекта 'MyWebsite.Models.Story' в запросе не допускается."
Есть идеи? Это не проблема с помощником, потому что у меня это работало, когда у меня просто было UserName внутри таблицы Story. И на заметку - есть ли в книге рекомендации по быстрому освоению LINQ to SQL? Это действительно пинает мою задницу. Благодаря.