Link table
Updated
A link table is an M:N set of rows between records. The physical table is LT_{Name}. The generated class is LT_{Name}.
Note
A link table is not a child list. If one side owns the other and cascade delete is required, use a dictionary list or a document table part.
From a script, GetService<ILinkTableManager>(). By name: Add / Ensure / Get / Delete. Typed: GetRecordsAsync<T>(side, key), SaveRecordAsync, ReplaceRecordsAsync — replace makes that side exactly the given set.
The card of a dictionary shows the link table whose column points at it. isPrimaryKey on the reference keeps the tab on that side only (PriceTypeHistory hangs off the item, not the price type).
Dated intervals with a closed window (EffectiveFrom / EffectiveTo) live here. An information register is a slice: the last value continues until a later Period.
A data package can ship link-table rows (kind: LinkTable, key = the reference pair).
Reference does not list every link table. Look in LinkTables/ of the model.
See also#
- Dictionary
- Table part — owned lines, not M:N
- Information register — a slice, not a closed window
- Data package
- Runtime