Mon problème est que j'essaie de retourner une requête simple qui contient un objet Story. L'objet Story a un UserId dans la table qui lie à la colonne UserId de aspnet_users. J'ai créé une classe partielle pour Story qui ajoute la propriété UserName car elle n'existe pas dans la table elle-même.Renvoyer une colonne d'une table liée dans LINQ to SQL
La requête suivante obtient toutes les histoires; cependant, une aide de pagination prend la requête et retourne seulement ce qui est nécessaire une fois que ceci est passé au contrôleur.
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;
}
Lorsque l'assistant fait un .count() sur la source elle bombes à l'exception suivante:
"Construction explicite de type d'entité 'MyWebsite.Models.Story' dans la requête n'est pas autorisé."
Des idées? Ce n'est pas un problème avec l'assistant parce que j'ai eu ce travail quand j'ai simplement eu le nom d'utilisateur dans la table histoire. Et sur une note de côté - des recommandations de livre pour se mettre à jour sur LINQ to SQL? Ça donne vraiment des coups de pied dans les fesses. Merci.