SafeToPrepareAttribute Clase
Marks the methods in the assembly that are safe to run with the ExecuteForPrepare property set to true.
Espacio de nombres: Microsoft.AnalysisServices.AdomdServer
Ensamblado: msmgdsrv (en msmgdsrv.dll)
Sintaxis
'Declaración
Public NotInheritable Class SafeToPrepareAttribute _
Inherits Attribute
'Uso
Dim instance As SafeToPrepareAttribute
public sealed class SafeToPrepareAttribute : Attribute
public ref class SafeToPrepareAttribute sealed : public Attribute
[<SealedAttribute>]
type SafeToPrepareAttribute =
class
inherit Attribute
end
public final class SafeToPrepareAttribute extends Attribute
Notas
If a user defined function (UDF) returns a DataTable, the UDF should be able to prepare for execution by running with the ExecuteForPrepare property set to true. To prepare for execution, the UDF should determine the structure of the DataTable needed to be returned, and return an empty DataTable that is structured appropriately.
Ejemplos
In the following example, a simple UDF creates a DataTable. If the UDF runs with the ExecuteForPrepare property set to true, the UDF returns with an empty version of the DataTable. If the UDF runs with the ExecuteForPrepare property set to false, the UDF continues, populates the DataTable, and returns the populated DataTable.
[SafeToPrepare(true)]
public System.Data.DataTable GetPreparedTable()
{
System.Data.DataTable results = new System.Data.DataTable();
results.Columns.Add("A", typeof(int));
results.Columns.Add("B", typeof(string));
if (Context.ExecuteForPrepare)
{
// If preparing, return just the schema with no data
return results;
}
//Otherwise return data
object[] row = new object[2];
row[0] = 1;
row[1] = "A";
results.Rows.Add(row);
row[0] = 2;
row[1] = "B";
results.Rows.Add(row);
return results;
}
Jerarquía de herencia
System. . :: . .Object
System. . :: . .Attribute
Microsoft.AnalysisServices.AdomdServer..::..SafeToPrepareAttribute
Seguridad para subprocesos
Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Vea también