У меня есть массив строк и запрос Linq:
/// <summary>
/// Return all the search results
/// </summary>
public static GenericTagEntity[] getSearchResults(int SectionID, string[] Words)
{
GenericTagEntity[] Recs;
using (MainContext db = new MainContext())
{
var q = (
from c in db.tblArticles
join a in db.tblForumAuthors on c.AuthorID equals a.Author_ID
join u in db.tblProfiles on c.AuthorID equals u.UserID
where c.IsDeleted == false
&& c.SectionID == SectionID
select new
{
c.Title,
c.ID,
c.Anchor,
c.Date,
c.Description,
u.EmailAddress,
u.UserID,
a.Username,
c.Body,
comments = (from f in db.tblComments where f.IsDeleted == false && f.Anchor == c.Anchor select new { f.ID }).Count()
});
Что я хотел бы сделать, это изменить where
так, чтобы он возвращал результаты, где c.Title
ИЛИ c.Body
содержатодно или несколько слов.Затем мне нужно, чтобы он был упорядочен по количеству совпадений (наиболее актуально в первую очередь)!
Это кажется мне действительно трудным, любая помощь очень ценится.
Я нашел это, но это лишь частично полезноТак что поиск не дал много результатов.http://msdn.microsoft.com/en-us/library/bb546166.aspx#Y200