1

We have a large system (~170 classes and more than 200 million objects in some classes). It is built with MDriven Framework with ASP.NET in a mix of WebForms and MVC. Also a small WinForms app for some admin tasks.

I often need to run ad hoc OCL queries or EAL scripts, and tend to use the WinForms based MDriven debugger form.

The problem is that I usually can't construct the query using only OclPs or only Ocl, because Ocl would cause millions of objects to be loaded and OclPs doesn't support all OCL constructs, not to mention no EAL support at all.

So, I would need a two-step ability: one step that evaluates an OclPs expression and a second step that evals Ocl or EAL on the results of the first step.

Can this be done with the existing debugger form or with the ASP.NET autoform, or in any other "out-of-the-box" manner?

I know I can build my own form to do it. I was just wondering if I'm missing something...

I would also like to suggest to add this ability in a future version of MDriven Framework, i.e. in either or both of the auto/debugger forms.

Kjell Rilbe
  • 1,331
  • 14
  • 39
  • A workaround that sometimes works is to first eval in OclPs, then use `Class.AllLoadedObjects` to do the second step. – Kjell Rilbe May 30 '18 at 16:05
  • 2
    I think you should look at the OCL operator "sqlpassthroughobjects" which addresses this problem. You can use this in viewmodels and derived associations to make the lookup really efficient. Just be aware of that this type of derived assoiciation isn't "subscribed", that is, it's not automatically updated on changes in the database. https://wiki.mdriven.net/index.php/OCLOperators_sqlpassthroughobjects – Lars May 31 '18 at 11:33
  • That's interesting Lars. This is not in a ViewModel and I find the docs utterly lacking, so without trial and error I fail to see how it works ot could be used. Will check it out when I have time thogh. – Kjell Rilbe May 31 '18 at 12:30

1 Answers1

1

Possibly you can use the new debugger as described here: https://www.capableobjects.com/2017/10/23/updates-to-autoform-and-debugger-after-latest-feedback/

What is better in the new debugger is the ability to hold variables and multiple expressions.

This makes it much easier to rumble around the data and to isolate the thing you are looking for.

Hans Karlsen
  • 2,275
  • 1
  • 15
  • 15
  • Watched part of the video. This seems to be a debugger form available in the designer. I do need this available in our deployed WinForms application. We seem to still get the same old auto form there, using `this.ecoGlobalActions.SetEcoAction(this.btnShowDebugger, Eco.WinForm.EcoAction.ShowDebugger);` – Kjell Rilbe May 31 '18 at 12:51
  • 1
    Yes - the new debugger makes use of some meta information not available in runtime. What you can do is to connect to your server with the new debugger thru the MDrivenDesigner (or VS). Load model + play + config connection + new debugger – Hans Karlsen May 31 '18 at 12:57
  • Alright. Might work. Any chance of an update to the runtime debugger? – Kjell Rilbe May 31 '18 at 12:58
  • 1
    Not a priority to update the runtime debugger currently. It pose a security risk and it is better to have the debugger as a separate tool. – Hans Karlsen Jun 01 '18 at 12:31