搜索唯一标记名称
Search Unique Tag Name
我有一组标签,需要检查标签是否已存在于数据库中。
下面的代码运行良好,但是,queryBuilder.Search = t[i].Name
的工作方式与 SQL 中的 LIKE 相同。我的意思是,如果我有太多相似的标签,例如 "first tag is the best" 和 "first tag" 会出错。
如何使用queryBuilder.Search
进行精确匹配?
var queryBuilder = new TagsQueryBuilder();
for (int i = 0; i < t.Count(); i++)
{
queryBuilder.Search = t[i].Name;
var tags = await client.Tags.Query(queryBuilder);
if (tags.Count() == 0) //If none in BD
{
var createdTag = await client.Tags.Create(t[i]);
t[i].Id = createdTag.Id;
}
}
据我所知WordPressPCL不支持,但是可以继承自TagsQueryBuilder:
public class ExtendedTagsQueryBuilder : TagsQueryBuilder
{
[QueryText("exact")]
public bool Exact { get; set; }
}
并指定此参数:
ExtendedTagsQueryBuilder queryBuilder = new ExtendedTagsQueryBuilder();
queryBuilder.Exact = true;
queryBuilder.Search = t[i].Name;
...
我有一组标签,需要检查标签是否已存在于数据库中。
下面的代码运行良好,但是,queryBuilder.Search = t[i].Name
的工作方式与 SQL 中的 LIKE 相同。我的意思是,如果我有太多相似的标签,例如 "first tag is the best" 和 "first tag" 会出错。
如何使用queryBuilder.Search
进行精确匹配?
var queryBuilder = new TagsQueryBuilder();
for (int i = 0; i < t.Count(); i++)
{
queryBuilder.Search = t[i].Name;
var tags = await client.Tags.Query(queryBuilder);
if (tags.Count() == 0) //If none in BD
{
var createdTag = await client.Tags.Create(t[i]);
t[i].Id = createdTag.Id;
}
}
据我所知WordPressPCL不支持,但是可以继承自TagsQueryBuilder:
public class ExtendedTagsQueryBuilder : TagsQueryBuilder
{
[QueryText("exact")]
public bool Exact { get; set; }
}
并指定此参数:
ExtendedTagsQueryBuilder queryBuilder = new ExtendedTagsQueryBuilder();
queryBuilder.Exact = true;
queryBuilder.Search = t[i].Name;
...