我被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 ...
答案 0 :(得分:2)
你的问题#2:你只需要像这样返回“新”:
select new { Post = p, AuthorDetail = a, CommentDetail = c}).ToList()
而不是:
select p).ToList();