Как вернуть несколько объектов в LINQ - asp.net mvc 3 - PullRequest
1 голос
/ 08 сентября 2011

Я застрял здесь с запросом Linq ... Я просто пытаюсь заполучить MVC через это очень простое приложение для блога. Я собираю эти три сущности

Post, AuthorDetails, CommentsDetails, // * в будущем будут добавляться категории, теги

Я хочу искать, используя searchterm, переданный в методы, которые затем будут искать эту строку поиска в Post.Title, Post.Body, AuthorDetails.FirstName, AuthorDetails.LastName, CommentsDetails.Comments и waht, чтобы вернуть что-то, что я могу привести в Список <> ... пожалуйста, посмотрите, что я получил до сих пор.

Код ..

 public List<Post> GetPostBySearchItem(string searchString)
        {
            List<Post> getAllPostsBySearchString = (from p in ePost.Posts
                                                    join a in ePost.AuthorDetails
                                                    on p.AuthorId equals a.Id
                                                    join c in ePost.CommentsDetails
                                                    on a.Id equals c.Id
                                                    where p.Title.Contains(searchString) || p.PostBody.Contains(searchString) || a.FirstName.Contains(searchString) || c.Comments.Contains(searchString)
                                                    select p).ToList();
            return getAllPostsBySearchString;

2 здесь вопрос 1) правильны ли операторы соединения в этом коде 2) и как я могу вернуть что-то подобное: выберите P для сообщений, A для AuthoreDetails и c для CommentsDetails ...

1 Ответ

2 голосов
/ 08 сентября 2011

Ваш вопрос # 2: вам просто нужно вернуться с «новым», как это:

select new { Post = p, AuthorDetail = a, CommentDetail = c}).ToList()

вместо:

select p).ToList();

Поиск Анонимный тип

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...