IdeaBlade DevForce 2010 Help Reference
Fetching Event
See Also  Example Send Feedback
IdeaBlade.EntityModel Assembly > IdeaBlade.EntityModel Namespace > EntityManager Class : Fetching Event



Occurs before the EntityManager fetches data from an EntityServer. This event will only occur if the query will not be satisfied out of the local cache.

Syntax

Visual Basic (Declaration) 
Public Event Fetching As EventHandler(Of EntityFetchingEventArgs)
Visual Basic (Usage)Copy Code
Dim instance As EntityManager
Dim handler As EventHandler(Of EntityFetchingEventArgs)
 
AddHandler instance.Fetching, handler
C# 
public event EventHandler<EntityFetchingEventArgs> Fetching
C++/CLI 
public:
event EventHandler<EntityFetchingEventArgs^>^ Fetching

Event Data

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

PropertyDescription
Cancel (Inherited from System.ComponentModel.CancelEventArgs) 
Query Gets the IEntityQuery involved in this event.

Example

C#Copy Code
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;
  }
  SaveResult sr = 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());
  }
}

Remarks

The event handler can set EntityFetchingEventArgs.Cancel to cancel the fetch. If a fetch is cancelled, a NullEntity or null entity list will be returned.

Requirements

Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family

See Also

© 2013 All Rights Reserved.