Partilhar via


ForEachLoop.PrecedenceConstraints Propriedade

Definição

Retorna uma coleção PrecedenceConstraints que contém todas as restrições de precedência associadas ao ForEachLoop.

public:
 property Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraints ^ PrecedenceConstraints { Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraints ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraints PrecedenceConstraints { get; }
member this.PrecedenceConstraints : Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraints
Public ReadOnly Property PrecedenceConstraints As PrecedenceConstraints

Valor da propriedade

Uma coleção de PrecedenceConstraints.

Implementações

Exemplos

O exemplo de código a seguir cria um ForEachLoop e define algumas propriedades usando a Properties coleção. Duas tarefas são adicionadas à Executables coleção e uma restrição de precedência é colocada entre elas.

// Create the package.  
Package package = new Package();  
// Add variables.  
package.Variables.Add("Id", false, "User", 0);  

// Create ForEachLoop task  
Executables executables = package.Executables;  
ForEachLoop forEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop;  

// The ForEachLoop is a container. Add some task executables and  
// create a precedence constraint. The tasks can run when  
// certain conditions in the loop are met.  
TaskHost thLoopMail = (TaskHost)forEachLoop.Executables.Add("STOCK:SendMailTask");  
TaskHost thLoopInsert = (TaskHost)forEachLoop.Executables.Add("STOCK:BulkInsertTask");  
Executables loopExecs = forEachLoop.Executables;  
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count);  

// Like other containers, precedence constraints can be set on the  
// contained tasks.  
PrecedenceConstraint pc = forEachLoop.PrecedenceConstraints.Add((Executable)thLoopMail, thLoopInsert);  
PrecedenceConstraints pcs = forEachLoop.PrecedenceConstraints;  
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count);  
' Create the package.  
Dim package As Package =  New Package()   
' Add variables.  
package.Variables.Add("Id", False, "User", 0)  

' Create ForEachLoop task  
Dim executables As Executables =  package.Executables   
Dim forEachLoop As ForEachLoop =  executables.Add("STOCK:FOREACHLOOP") as ForEachLoop   

' The ForEachLoop is a container. Add some task executables and  
' create a precedence constraint. The tasks can run when  
' certain conditions in the loop are met.  
Dim thLoopMail As TaskHost = CType(forEachLoop.Executables.Add("STOCK:SendMailTask"), TaskHost)  
Dim thLoopInsert As TaskHost = CType(forEachLoop.Executables.Add("STOCK:BulkInsertTask"), TaskHost)  
Dim loopExecs As Executables =  forEachLoop.Executables   
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count)  

' Like other containers, precedence constraints can be set on the  
' contained tasks.  
Dim pc As PrecedenceConstraint =  forEachLoop.PrecedenceConstraints.Add(CType(thLoopMail,thLoopInsert, Executable))   
Dim pcs As PrecedenceConstraints =  forEachLoop.PrecedenceConstraints   
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count)  

Saída de exemplo:

Número de executáveis no ForLoop: 2

Número de restrições de precedência: 1

Comentários

A ordem de execução dos objetos na coleção é determinada pelo PrecedenceConstraints adicionado ao contêiner. PrecedenceConstraints permitir o branching de execução com base no sucesso, falha ou conclusão de um executável na coleção.

Aplica-se a