ChangeOperation Enumeration
[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]
Specifies the change operations that can be performed on an object.
Namespace: System.ServiceModel.DomainServices.Server
Assembly: System.ServiceModel.DomainServices.Server (in System.ServiceModel.DomainServices.Server.dll)
Syntax
'Declaration
Public Enumeration ChangeOperation
'Usage
Dim instance As ChangeOperation
public enum ChangeOperation
public enum class ChangeOperation
type ChangeOperation
public enum ChangeOperation
Members
Member name | Description | |
---|---|---|
None | No change operation to perform. | |
Insert | An insert operation. | |
Update | An update operation. | |
Delete | A delete operation. |
Examples
<EnableClientAccess()>
Public Class CustomerDomainService
Inherits LinqToEntitiesDomainService(Of AdventureWorksLTEntities)
Public Function GetCustomers() As IQueryable(Of Customer)
Return Me.ObjectContext.Customers
End Function
Public Function c(ByVal customer As Customer, ByVal address As CustomerAddress)
Return address
End Function
Public Function UpdateCustomer(ByVal currentCustomer As Customer)
If currentCustomer <> Nothing Then
Me.ObjectContext.Customers.AttachAsModified(currentCustomer, Me.ChangeSet.GetOriginal(currentCustomer))
Else
Me.ObjectContext.Attach(currentCustomer)
End If
For Each address As CustomerAddress In ChangeSet.GetAssociatedChanges(currentCustomer, c)
Select Case (operation)
Case ChangeOperation.Insert
ObjectContext.Detach(address)
address.EntityKey = Nothing
ObjectContext.AddToCustomerAddresses(address)
break()
Case ChangeOperation.Update
ObjectContext.Attach(address)
break()
Case ChangeOperation.Delete
ObjectContext.DeleteObject(address)
break()
Case Else
break()
End Select
Next
End Function
End Class
public void UpdateCustomer(Customer currentCustomer)
{
if (currentCustomer != null)
{
this.ObjectContext.Customers.AttachAsModified(currentCustomer, this.ChangeSet.GetOriginal(currentCustomer));
}
else
{
this.ObjectContext.Attach(currentCustomer);
}
foreach(CustomerAddress address in ChangeSet.GetAssociatedChanges(currentCustomer, c => c.CustomerAddresses))
{
ChangeOperation operation = ChangeSet.GetChangeOperation(address);
switch (operation)
{
case ChangeOperation.Insert:
ObjectContext.Detach(address);
address.EntityKey = null;
ObjectContext.AddToCustomerAddresses(address);
break;
case ChangeOperation.Update:
ObjectContext.Attach(address);
break;
case ChangeOperation.Delete:
ObjectContext.DeleteObject(address);
break;
default:
break;
}
}
}