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



Occurs before the EntityManager executes a query.

Syntax

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

Event Data

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

PropertyDescription
Cancel (Inherited from System.ComponentModel.CancelEventArgs) 
Query 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 modify the EntityQueryingEventArgs.Query if needed, and set EntityQueryingEventArgs.Cancel to cancel execution of the query. If a query 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.