如何在LINQ中返回多个对象 - asp.net mvc 3

时间:2011-09-07 21:04:22

标签: jquery asp.net-mvc linq json asp.net-mvc-3

我被Linq查询困在这里......我只是试图通过这个非常简单的博客应用程序来获取MVC ..我正在推荐这三个实体

邮 AuthorDetails, CommentsDetails,// *将来会添加类别,标签

我想使用传递给方法的searchterm进行搜索,然后在Post.Title,Post.Body,AuthorDetails.FirstName,AuthorDetails.LastName,CommentsDetails.Comments中搜索该searchString并返回我能够返回的内容施放到List<> ...请看看我到目前为止的情况。

代码..

 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 for Posts,A for AuthoreDetails和c for CommentsDetails ...

1 个答案:

答案 0 :(得分:2)

你的问题#2:你只需要像这样返回“新”:

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

而不是:

select p).ToList();

查找Anonymous Type