Share via


IsPersisted Propiedad

Obtiene el valor de propiedad booleano que especifica si el valor calculado del objeto Column se guarda con los datos, lo que evita un cálculo cada vez que se tiene acceso a la columna.

Espacio de nombres:  Microsoft.SqlServer.Management.Smo
Ensamblado:  Microsoft.SqlServer.Smo (en Microsoft.SqlServer.Smo.dll)

Sintaxis

'Declaración
<SfcPropertyAttribute(SfcPropertyFlags.None Or SfcPropertyFlags.Standalone Or SfcPropertyFlags.SqlAzureDatabase Or SfcPropertyFlags.Design)> _
Public Property IsPersisted As Boolean
    Get
    Set
'Uso
Dim instance As Column
Dim value As Boolean

value = instance.IsPersisted

instance.IsPersisted = value
[SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)]
public bool IsPersisted { get; set; }
[SfcPropertyAttribute(SfcPropertyFlags::None|SfcPropertyFlags::Standalone|SfcPropertyFlags::SqlAzureDatabase|SfcPropertyFlags::Design)]
public:
property bool IsPersisted {
    bool get ();
    void set (bool value);
}
[<SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)>]
member IsPersisted : bool with get, set
function get IsPersisted () : boolean
function set IsPersisted (value : boolean)

Valor de la propiedad

Tipo: System. . :: . .Boolean
Valor de propiedad booleano que especifica si el valor calculado del objeto Column se guarda con los datos.
Si es True, el valor calculado del objeto Column se guarda con los datos.
Si es False (valor predeterminado), el valor calculado del objeto Column se calcula cada vez que se solicitan los datos de la columna.
La propiedad IsPersisted solo se puede establecer en True en las columnas calculadas. En caso contrario, se producirá un error.

Comentarios

The following example shows how to use feature in C#:

// compile with: /r:Microsoft.SqlServer.Smo.dll /r:Microsoft.SqlServer.ConnectionInfo.dll /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll 
using System;
using Microsoft.SqlServer.Management.Smo;

public class A {
   public static void Main() {
      Server svr = new Server(); 
      Database db = new Database(svr, "TestDB");
      db.Create();

      Table tab1 = new Table(db, "Table1");

      Column col1 = new Column(tab1, "Col1", DataType.Int);

      // Computed column
      Column col2 = new Column(tab1, "Col2", DataType.Int);
      col2.Computed = true;
      col2.ComputedText = "col1 * 2";

      // Persisted Computed Column
      Column col3 = new Column(tab1, "Col3", DataType.Int);
      col3.Computed = true;
      col3.ComputedText = "col1 * 3";

      // allows the computed column to persist with table data
      col3.IsPersisted = true;   

      tab1.Columns.Add(col1);
      tab1.Columns.Add(col2);
      tab1.Columns.Add(col3);

      tab1.Create();

      // default value of IsPersisted for computed column is false
      Console.WriteLine(col2.Name + "  Computed = " + col2.Computed + "  Persisted =  " + col2.IsPersisted);
      Console.WriteLine(col3.Name + "  Computed = " + col3.Computed + "  Persisted =  " + col3.IsPersisted);
   }
}

The following example shows how to use feature in Visual Basic:

' compile with: /r:Microsoft.SqlServer.Smo.dll /r:Microsoft.SqlServer.ConnectionInfo.dll /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll
Imports Microsoft.SqlServer.Management.Smo

Public Class A
   Public Shared Sub Main()
      Dim svr As New Server()
      Dim db As New Database(svr, "TestDB")
      db.Create()

      Dim tab1 As New Table(db, "Table1")

      Dim col1 As New Column(tab1, "Col1", DataType.Int)

      ' Computed column
      Dim col2 As New Column(tab1, "Col2", DataType.Int)
      col2.Computed = True
      col2.ComputedText = "col1 * 2"

      ' Persisted Computed Column
      Dim col3 As New Column(tab1, "Col3", DataType.Int)
      col3.Computed = True
      col3.ComputedText = "col1 * 3"

      ' allows the computed column to persist with table data
      col3.IsPersisted = True

      tab1.Columns.Add(col1)
      tab1.Columns.Add(col2)
      tab1.Columns.Add(col3)

      tab1.Create()

      ' default value of IsPersisted for computed column is false
      Console.WriteLine((col2.Name & "  Computed = " & col2.Computed & "  Persisted =  ") & col2.IsPersisted)
      Console.WriteLine((col3.Name & "  Computed = " & col3.Computed & "  Persisted =  ") & col3.IsPersisted)
   End Sub
End Class