ManagedProperty.Delete method
Exclui o esquema de pesquisa a propriedade gerenciada.
Namespace: Microsoft.Office.Server.Search.Administration
Assembly: Microsoft.Office.Server.Search (in Microsoft.Office.Server.Search.dll)
Syntax
'Declaração
Public Sub Delete
'Uso
Dim instance As ManagedProperty
instance.Delete()
public void Delete()
Comentários
O método Delete pode ser chamado somente para uma propriedade gerenciada com nenhum mapeamento; se há são ainda propriedades rastreadas mapeadas para a propriedade gerenciada, ocorrerá um erro com esse método.
Para evitar que esse erro ocorra, chame o método DeleteAllMappings antes de chamar o método Delete .
Você também deve verificar que a propriedade gerenciada pode ser excluída, verificando o valor da propriedade DeleteDisallowed . Se essa propriedade for true, você não pode excluir a propriedade gerenciada do esquema de pesquisa.
Examples
O exemplo de código a seguir exclui o esquema de pesquisa uma propriedade gerenciada. Para um exemplo mais completa e a explicação do código, consulte How to: Delete a Managed Property.
Prerequisites
Certifique-se de que um provedor de serviços compartilhados já foi criado.
Project References
Adicione as seguintes referências de projeto em seu projeto de código de aplicativo de console antes de executar este exemplo:
Microsoft.SharePoint
Microsoft.Office.Server
Microsoft.Office.Server.Search
using System;
using System.Collections;
using System.Text;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;
namespace DeleteManagedPropertiesSample
{
class Program
{
static void Main(string[] args)
{
try
{
//Replace <ManagedPropertyName> with the name of the property to delete.
string strName = "<ManagedPropertyName>";
//Replace <SiteName> with the name of a site using the Shared Service Provider.
string strURL = "http://<SiteName>";
Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
foreach (ManagedProperty property in properties)
{
if (property.Name == strName)
{
if (property.DeleteDisallowed)
{
Console.WriteLine("DeleteDisallowed enabled for " + strName + ". Delete failed.");
return;
}
property.DeleteAllMappings();
property.Delete();
Console.WriteLine(strName + " deleted.");
return;
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}