Bei der Verarbeitung von Datensätzen werden Events ausgelöst. Dort ist es z.B. möglich Feldwerte zu berechnen und weitere Funktionen aufzurufen. Diese Events werden für einen Datensatz ausgeführt und beeinflussen daher das Laufzeitverhalten von Datensätzen stark, insbesondere bei der Massenverarbeitung selbiger. Man muss daher darauf achten, das diese Funktionalitäten performant implementiert sind.

Um Events für Datensätze zu implementieren, wird eine Klasse benötigt die BAOrmEventsBase erweitert. An dieser Klasse, muss das Attribute BAOrmEvents gesetzt werden.

[BAOrmEvents(typeof(OrmMyDataTable))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }

Für konfigurierte Datentabellen, ist es auch möglich die Guid der Datentabelle zu verwenden.

[BAOrmEvents(EnumDataSourceExtension.MyDataTableGuid)]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }

Es können auch Events für Basis-Datentabellen erstellt werden.

[BAOrmEvents(typeof(OrmActivityBase))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }

Oder auch für mehrere Datentabellen.

[BAOrmEvents(typeof(OrmPhoneCall), typeof(OrmMiscellaneous))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }