DevForce Help Reference
Saving Event
Example 


Occurs when the EntityManager is preparing to save changes.
Syntax
'Declaration
 
Public Event Saving As EventHandler(Of EntitySavingEventArgs)
'Usage
 
Dim instance As EntityManager
Dim handler As EventHandler(Of EntitySavingEventArgs)
 
AddHandler instance.Saving, handler
Event Data

The event handler receives an argument of type EntitySavingEventArgs containing data related to this event. The following EntitySavingEventArgs properties provide information specific to this event.

PropertyDescription
Cancel (Inherited from System.ComponentModel.CancelEventArgs)
Entities List of entities to be saved. This collection may be modified.  
Remarks
The event handler can use the EntitySavingEventArgs.Entities list to validate, modify, delete or add entities as needed. Use EntitySavingEventArgs.Cancel to cancel the save operation. See the DevForce Developer's Guide for more information on the life cycle of a save.
Example
public void EntityManager_EventSample() {

  var mgr = new DomainModelEntityManager();
  // Setup some handlers.
  mgr.Querying += QueryingHandler;
  mgr.Fetching += FetchingHandler;
  mgr.Queried += QueriedHandler;
  mgr.Saving += SavingHandler;
  mgr.Saved += SavedHandler;

  // Now try some fetches and saves.

  var orders = mgr.OrderSummaries
    .Where(o => o.Customer.Id == 1)
    .Include("Customer")
    .Include("OrderDetails").ToList();
  DebugFns.WriteLine("Order count = " + orders.Count.ToString());

  // Change the first order and its details.
  OrderSummary anOrder = orders[0];
  anOrder.Freight = 200;
  foreach (OrderDetail dtl in anOrder.OrderDetails) {
    dtl.Discount = .05F;
  }
  mgr.SaveChanges();
}

void QueryingHandler(object sender, EntityQueryingEventArgs e) {
  DebugFns.WriteLine("Querying " + e.Query.ToString());
}

void FetchingHandler(object sender, EntityFetchingEventArgs e) {
  DebugFns.WriteLine("Fetching " + e.Query.ToString());
}

void QueriedHandler(object sender, EntityQueriedEventArgs e) {
  DebugFns.WriteLine("Queried " + e.Query.ToString());
  foreach (Entity anEntity in e.Results) {
    DebugFns.WriteLine("Queried - " + anEntity.EntityKey.ToString());
  }
}

void SavingHandler(object sender, EntitySavingEventArgs e) {
  foreach (Entity anEntity in e.Entities) {
    DebugFns.WriteLine("Saving - " + anEntity.EntityKey.ToString() + " - " + anEntity.EntityState.ToString());
  }
}
void SavedHandler(object sender, EntitySavedEventArgs e) {
  foreach (Entity anEntity in e.Entities) {
    DebugFns.WriteLine("Saved - " + anEntity.EntityKey.ToString());
  }
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

EntityManager Class
EntityManager Members

Send Feedback