Compartir a través de


Clase RoundtripOriginalAttribute

Cuando se aplica a un miembro, este atributo indica que el valor original del miembro se debería devolver al servidor cuando el objeto se actualiza. Cuando se aplica a una clase, el atributo se aplica a cada miembro de esa clase.

Espacio de nombres: System.ComponentModel.DataAnnotations
Ensamblado: System.ServiceModel.DomainServices.Client (en system.servicemodel.domainservices.client.dll)

Uso

'Uso
Dim instance As RoundtripOriginalAttribute

Sintaxis

'Declaración
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Property Or AttributeTargets.Field, AllowMultiple:=False)> _
Public NotInheritable Class RoundtripOriginalAttribute
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false)] 
public sealed class RoundtripOriginalAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Property|AttributeTargets::Field, AllowMultiple=false)] 
public ref class RoundtripOriginalAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false) */ 
public final class RoundtripOriginalAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false) 
public final class RoundtripOriginalAttribute extends Attribute

Ejemplo

En el ejemplo siguiente se muestra una clase de metadatos de dirección con los atributos RoundtripOriginalAttribute, RequiredAttribute, StringLengthAttribute y ExcludeAttribute aplicados de forma diversa a sus propiedades.

<MetadataTypeAttribute(GetType(Address.AddressMetadata))>  _
Partial Public Class Address
    
    Friend NotInheritable Class AddressMetadata
        
        'Metadata classes are not meant to be instantiated.
        Private Sub New()
            MyBase.New
        End Sub
        
        Public AddressID As Integer

        <Required()> _
        <StringLength(60)> _
        <RoundtripOriginal()> _
        Public AddressLine1 As String

        <RoundtripOriginal()> _
        Public AddressLine2 As String

        <Required()> _
        <StringLength(30)> _
        <RoundtripOriginal()> _
        Public City As String

        <RoundtripOriginal()> _
        Public CountryRegion As String
        
        Public CustomerAddresses As EntityCollection(Of CustomerAddress)

        <RoundtripOriginal()> _
        Public ModifiedDate As DateTime

        <Required()> _
        <RoundtripOriginal()> _
        Public PostalCode As String

        <Exclude()> _
        Public rowguid As Guid

        <RoundtripOriginal()> _
        Public StateProvince As String
    End Class
End Class
[MetadataTypeAttribute(typeof(Address.AddressMetadata))]
public partial class Address
{

    internal sealed class AddressMetadata
    {
        // Metadata classes are not meant to be instantiated.
        private AddressMetadata()
        {
        }

        public int AddressID { get; set; }

        [Required]
        [StringLength(60)]
        [RoundtripOriginal]
        public string AddressLine1 { get; set; }

        [RoundtripOriginal]
        public string AddressLine2 { get; set; }

        [Required]
        [StringLength(30)]
        [RoundtripOriginal]
        public string City { get; set; }

        [RoundtripOriginal]
        public string CountryRegion { get; set; }

        public EntityCollection<CustomerAddress> CustomerAddresses { get; set; }

        [RoundtripOriginal]
        public DateTime ModifiedDate { get; set; }

        [Required]
        [RoundtripOriginal]
        public string PostalCode { get; set; }

        [Exclude]
        public Guid rowguid { get; set; }

        [RoundtripOriginal]
        public string StateProvince { get; set; }
    }
}

Notas

Se aplica el atributo de RoundtripOriginalAttribute a una propiedad en una entidad cuando desea enviar el valor de dicha propiedad al servidor con el fin de garantizar la simultaneidad de los datos. Si este atributo no está presente, el valor de este miembro será null cuando el objeto original se devuelva al servidor.

Cuando permita que los usuarios actualicen o eliminen datos, asegúrese de que otro proceso no haya cambiado los datos del origen de datos antes de continuar con la actualización o la eliminación. Si no comprueba si los valores han cambiado, puede sobrescribir involuntariamente valores establecidos por otro proceso.

De forma predeterminada, RIA Services no pasa la entidad original completa junto con los valores modificados a la capa de acceso a datos para comprobar la simultaneidad de los datos. En su lugar, RIA Services almacena y devuelve solamente los miembros marcados con el atributo RoundtripOriginalAttribute, el atributo ConcurrencyCheckAttribute o el atributo TimestampAttribute. Estos atributos de simultaneidad se pueden aplicar a las clases de metadatos cuando se trabaja con Entity Framework o directamente a objetos CLR cuando se trabaja con modelos de datos definidos con POCO. Con esta implementación, puede optimizar el rendimiento de su aplicación mediante la especificación únicamente de aquellos miembros que quiere que participen en la comprobación de simultaneidad.

Jerarquía de herencia

System.Object
   System.Attribute
    System.ComponentModel.DataAnnotations.RoundtripOriginalAttribute

Seguridad para subprocesos

Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Plataformas

Plataformas de desarrollo

Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000

Plataformas de destino

Change History

Vea también

Referencia

Miembros RoundtripOriginalAttribute
Espacio de nombres System.ComponentModel.DataAnnotations