Compartilhar via


Método ManagedProperty.Delete

Exclui o gerenciado propriedade do esquema de pesquisa.

Espaço para nome Microsoft.Office.Server.Search.Administration
Conjunto de Módulos (Assembly) Microsoft.Office.Server.Search (em microsoft.office.server.search.dll)

A sintaxe

Public Sub Delete

Dim instance As ManagedProperty

instance.Delete
public void Delete ()

Comentários

The Delete method can be called only for a managed property with no mappings; if there are still crawled properties mapped to the managed property, an error occurs with this method.

Para evitar esse erro ocorra, chamar o DeleteAllMappings M:Microsoft.Office.Server.Search.Administration.ManagedProperty.DeleteAllMappings método antes chamado de Delete excluir.

Você deve também verificar que o gerenciado propriedade pode ser excluída, verificando o valor do DeleteDisallowed DeleteDisallowed.Se esta propriedade for true, não é possível excluir o gerenciado propriedade do esquema de pesquisa.

Exemplo

O seguinte exemplo de código exclui um gerenciado propriedade do esquema de pesquisa.Para um mais completo exemplo e explicação sobre a codificar, consulte Como a: excluir uma propriedade gerenciada.

Prerequisites

Certifique-se que um provedor de serviços compartilhados já é criado.

Project References

Adicione o seguinte referências do projeto no seu projeto código do aplicativo console antes execução neste 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());
            }
        }
    }
}

Consulte também

Referência

ManagedProperty De classe
ManagedProperty Membros
Microsoft.Office.Server.Search.Administration De espaço para nome