Compartilhar via


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());
            }
        }
    }
}

Ver também

Referência

ManagedProperty class

ManagedProperty members

Microsoft.Office.Server.Search.Administration namespace