у меня есть запрос linq, который возвращает статьи, упорядоченные по количеству тегов, соответствующих текущей статье
например,
в текущей статье есть теги - tag1, tag2, tag3
tagged article 1 - tag1, tag2, tag3 tagged article 2 - tag1, tag2
linq У меня есть
DataTable query = (from row in dt.AsEnumerable()
let tags = row.Field<string>("Tags").Split(seperator, StringSplitOptions.RemoveEmptyEntries)
let count = tags.Count(t => currenttags.Contains(t))
orderby count descending
select row).CopyToDataTable();
я хочу добавить группу по ClassName, которая является типом статьи (литература, тематическое исследование, загрузка и т. д.)
так будет
group row by {row.Field<string>("ClassDisplayName")}
, однако, когда я добавляю это к запросу, я получаю красные сообщения
DataTable query = (from row in dt.AsEnumerable()
group row by {row.Field<string>("ClassDisplayName")}
let tags = row.Field<string>("Tags").Split(seperator, StringSplitOptions.RemoveEmptyEntries)
let count = tags.Count(t => currenttags.Contains(t))
orderby count descending
select row).CopyToDataTable();
любые идеи, чтоя делаю не так?
Это текущий, который работает только с заказом на
DataTable dt = ArticleCollection(SqlClause.ToString());
var seperator = new[] { ",", " " };
var current = dr["Tags"].ToString();
var currenttags = dr.Field<string>("Tags").Split(seperator, StringSplitOptions.RemoveEmptyEntries);
DataTable query = (from row in dt.AsEnumerable()
let tags = row.Field<string>("Tags").Split(seperator, StringSplitOptions.RemoveEmptyEntries)
let count = tags.Count(t => currenttags.Contains(t))
orderby count descending
// group row by row.Field<string>("ClassDisplayName") into g
select row).CopyToDataTable();
if (!DataHelper.DataSourceIsEmpty(query))
{
TagRepeaterOutter.DataSource = query;
TagRepeaterOutter.DataBind();
}