Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.
Domain Component (DC) interfaces are abstractions above eXpress Persistent Objects (XPO) classes. Notwithstanding its benefits, this abstraction imposes certain technical limitations. DC is only suitable for certain usage scenarios. The Blazor User Interface is not supported for DC. DC is in maintenance mode and we do not recommend its use in new software projects. We recommend that you migrate DC interfaces to pure XPO classes.
With Domain Components, you do not need to use the Association attribute to define one-to-many and many-to-many relationships. All you need to do is declare properties of the correct types. The following code snippet demonstrates a one-to-many relationship between the IOrder and IOrderItem Domain Components.
<DomainComponent> _
PublicInterface IEmployee
ReadOnlyProperty Tasks() As IList(Of ITask)
EndInterface
<DomainComponent> _
PublicInterface ITask
ReadOnlyProperty Employees() As IList(Of IEmployee)
EndInterface
Tip
You can declare only one side of the relationship (e.g,, IEmployee.Tasks collection property in the code above). The second collection will be declared automatically in the generated XPO class, however it will be inaccessible from your code and invisible in UI.
If a Domain Component exposes several properties of the same type, and a relationship cannot be resolved explicitly, you can use the BackReferenceProperty attribute to specify the correct property. The following code snippet illustrates this.