【发布时间】:2011-11-12 12:30:24
【问题描述】:
我被 Linq 查询困在这里......我只是想通过这个非常简单的博客应用程序来接触 MVC。我正在使用这三个实体
发布, 作者详情, CommentsDetails, //* 将来会添加分类、标签
我想使用传递给方法的 searchterm 进行搜索,然后它将在 Post.Title、Post.Body、AuthorDetails.FirstName、AuthorDetails.LastName、CommentsDetails.Comments 中搜索该 searchString 并返回我可以返回的内容投射到列表 ...请看看我到目前为止得到了什么。
代码..
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)这段代码中的join语句是否正确 2) 以及如何返回类似的内容选择 P 代表 Posts,A 代表 AuthoreDetails,c 代表 CommentsDetails...
【问题讨论】:
-
不是直接回答您的问题,但您似乎正在尝试向您的网站添加搜索功能...我强烈建议您查看 Lucene for .Net 以添加此类功能。你可以在这里找到一个例子ifdefined.com/blog/post/2009/02/…
-
您在这里使用联接而不是关联是否有原因?如果您建立从 Post 到 Comments/Authors/Categories/etc 的关联,您可以返回 List
并导航到您视图中的子项,假设您渴望适当地加载子项。听起来您正在经历与我对 www.ThinqLinq.com 所做的大部分相同的事情。您可以在link 的文件下载中查看我的源代码。 -
@jim: 我一定会看看的... :)
标签: jquery asp.net-mvc linq json asp.net-mvc-3