We've made some code changes for v17.2.6+ as well as created two articles for advanced XAF developers who may need the subject for some low-level tuning:
Sub-classing is itself easy. The most interesting part comes for the two popular security configurations: the Integrated mode and the Middle-Tier Application Server. Thankfully, this is rarely required for complex or specific scenarios only. Here are several customer tickets for your reference:
How to map a property to a calculated database column (implement a read-only persistent property)
xpo and sql server identity fields
Using inherited UnitOfWork object
XAF: Create CreateCustomObjectSpaceProvider with parameters from login window
SecurityStrategyComplex: How to modify objects/properties in code when the user does not have the permission?
To learn more about low-level options to control how your application saves data and where, check out the How to customize the underlying database provider options and data access behavior in XAF.
Your feedback is needed!
Finally, I am just curious: if you search your entire solution in Visual Studio (Control+Shift+F) for any of the ": UnitOfWork", ": XPObjectSpace", ": XPObjectSpaceProvider" strings or their VB.NET equivalents (e.g., Inherits UnitOfWork), how many occurrences would you have and for what? Please let me know in the comments!