共用方式為


RoundtripOriginalAttribute 類別

套用至成員時,此屬性會指出物件更新後成員的原始值應傳送回伺服器。套用至類別時,屬性會套用至該類別的每一個成員。

命名空間: System.ComponentModel.DataAnnotations
組件: System.ServiceModel.DomainServices.Client (於 system.servicemodel.domainservices.client.dll)

使用方式

'用途
Dim instance As RoundtripOriginalAttribute

語法

'宣告
<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

範例

下列範例會顯示 RoundtripOriginalAttributeRequiredAttributeStringLengthAttributeExcludeAttribute 各自套用至其屬性的地址中繼資料類別。

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

備註

您會將 RoundtripOriginalAttribute 屬性 (Attribute) 套用至實體中的屬性 (Property),前提是您想要將該屬性 (Property) 的值傳送給伺服器來確保資料的並行。如果這個屬性 (Attribute) 不存在,則這個成員的值在傳回至伺服器的原始物件中為 null

即使使用者可以更新或刪除資料,您也希望能在更新或刪除之前,先確保沒有其他處理序已經變更資料來源中的資料。如果不檢查這些值是否已改變,則可能會不小心覆寫其他處理序設定的值。

根據預設,RIA Services 不會將整個原始實體連同變更的值傳遞給資料存取層來檢查資料的並行。RIA Services 只會儲存那些標記 RoundtripOriginalAttribute 屬性 (Attribute)、ConcurrencyCheckAttribute 屬性或 (Attribute) TimestampAttribute 屬性 (Attribute) 的成員並傳回這些成員。使用 Entity Framework 時,這些並行屬性可以套用至中繼資料類別,使用 POCO 定義資料模型時,則可以直接套用至 CLR 物件。這個實作可讓您最佳化應用程式的效能,其方式是只指定您希望參與並行存取檢查的成員。

繼承階層

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

執行緒安全性

任何這個類型的公用靜態 (在 Visual Basic 中為 共用) 成員都具備執行緒安全。 不保證任何執行個體成員安全執行緒。

平台

開發平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目標平台

Change History

另請參閱

參考

RoundtripOriginalAttribute 成員
System.ComponentModel.DataAnnotations 命名空間