How to make Csla 9 not use legacy DataPortal_XYZ methods? #4595
Replies: 4 comments
-
Can you provide a repro for this behavior? I just searched the v9.x codebase and the only use of "DataPortal_Execute" is in the analyzer that tells you not to use it. |
Beta Was this translation helpful? Give feedback.
-
I created a repo in the link below. There are 2 test projects
|
Beta Was this translation helpful? Give feedback.
-
It turns out that this was an intentional change, with the thought process documented here: #4090 In your base class do this: [Execute]
protected virtual Task execute()
{
return DataPortal_ExecuteAsync();
} In your subclass do this: [Execute]
protected override Task execute()
{
return base.execute();
} |
Beta Was this translation helpful? Give feedback.
-
The strange thing is that data portal invoking in Csla 8 works properly as expected. If possible, Csla 9 should keep using the same invoking as Csla 8. Or it should offer a way to choose the old Csla 8 invoking e.g through configuration. |
Beta Was this translation helpful? Give feedback.
-
I upgrading my project that used Csla 8 to the new Csla 9. In Csla 8, all legacy
DataPortal_XYZ
andChild_XYZ
methods are ignored. So in my project, many classes are declared like below and they worked fine as expected. But Csla 9 suddenly supports back those legacy methods and all my classes now crash. E.g if I call_portal.Execute()
XCommandBase.execute()
is invoked as expectedDataPortal_Execute()
is invoked => this causes the app works incorrectly.Is it possible (e.g through configuration) to make Csla 9 not use those legacy methods?
Beta Was this translation helpful? Give feedback.
All reactions