MDrivenWiki
Log in

Ever felt the need to log what your ECO persistence server is up to?

From MDrivenWiki
public partial class ModelPMP : Eco.Persistence.PersistenceMapperProvider
 {
  List<string> _log = new List<string>();
  public ModelPMP() : base()
 {
  EcoListener.StartListening();
  EcoLogSwitches.LogSql = true;
  EcoListener.Singleton.OnTraceLog += new TraceLogHandler(OnTraceLog);
  this.InitializeComponent();
 }

private void OnTraceLog(object sender, TraceEventArgs e)
 {
  if (e.Category.Equals(EcoTraceCategories.Sql))
  {
   _log.Add(e.Message);
  }
}

The code above is one way…

To make an ExpressionHandle actually load all rows in as few batches as possible go like this:

IObjectList il=(ehPerson.Element as IObjectList);
il.EnsureObjects();