RE: Replace EditableRootList with DynamicRootList in CSLA Extension.

Jun 7, 2012 at 1:06 PM


We got all running, but has has some performance and memory management issues.

Our configuration system below using CSLA Extension, together with Entity Framework and SQL 2008.

Our current system:

Buildings (150 properties/building)---> Floors (17 properties/floor)-----àRooms (34 properties/room)

We tried one Model below:

Buildings (EditableRootList) ---àFloors(EditableChildList) -----à Rooms(EditableChildList)

For one building with total: 2511 objects, and 85334 properties in three tables:

It took:
24 seconds to create/initialize and populate in DB.

14 seconds for a complete update.

4.5 seconds to delete all.

Our goal is to do 100 buildings. So, the performance and memory management will be critical for us, as far as initialization, updating, binding, etc.

How to replace EditableRootList with DynamicRootList for Buildings and Floors in CSLA Extension?

All suggestions are welcome...Thanks ahead...


From: jbudimir [email removed]
Sent: Wednesday, May 30, 2012 3:40 AM
To: Zheng, Ting fang CCS
Subject: Re: RE: RootList & ChildList [t4csla:356774]

From: jbudimir

Do you need a list of editable objects or just read-only list to show in grid?

If you need a list of editable objects then you should use editable root list template for Buildings entity. For read-only list you should create a database view for Buildings and use read-only root list template.


Jun 8, 2012 at 8:43 AM
Edited Jun 8, 2012 at 11:50 AM


I did not implement DynamicRootList at all because I've never used it, and never had any request until now.

It looks to me like there is something wrong with your code or the database (missing indexes etc.).

Your example is managing only one building, and takes a lot of time to finish the task.  How will DRL help you with the performance here? 

I'll try to add DRL as a template in the new version, but I really don't see how that will help you with your scenario.

If it's possible, send me your test project to my email so I can see what's happening there.