What is the DeepLoad/DeepData feature?
Since Encapsulated Invoke doesn't support DataSets, this sub-project started life as an alternative way to load deep data structures. The DeepLoad sample/test project was started as a way to make sure the generated code behaves like it should.The sample covers the following scenarios:
- ParentLoad and SelfLoad
- Editable and ReadOnly objects
- hard delete and soft delete
- root is a collection
- root is an object
The sample covers two application models:
- Encapsulated Implementation (single assembly that includes the business and data access layers)
- Encapsulated Invoke (3 assemblies: business layer, DAL interface and data acess layer)
How can I use it?
If you don't care about CslaGenFork, you can download the VS solutions and have a look at how it's done.What's in the sample?
The test code only tests the loading part. The sample has 6 levels of hierarchical data (6 hierarchical selects). This sample uses dummy hierarchical data from continents to city roads. The first release used non-intuitive names both on tables and Csla objects like Level1, Level111, etc. The database and VS projects were refactored so table and object names are meaningful and reflect the hierarchy:- Continent
- Sub-continent
- Country
- Region (or state)
- City
- City road
The sample includes:
- Database files
- CslaGenFork XML files for generating the sample using Nightly Build 2012.02.11 - DeepData for DAL (DataReader)
- Generated SProcs
- VisualStudio 2010 solution with 9 projects:
- DeepLoadTest (console application)
- ParentLoad.Business (library generated by CGF)
- ParentLoadRO.Business (library generated by CGF)
- SelfLoad.Business (library generated by CGF)
- SelfLoadRO.Business (library generated by CGF)
- ParentLoadSoftDelete.Business (library generated by CGF)
- ParentLoadROSoftDelete.Business (library generated by CGF)
- SelfLoadSoftDelete.Business (library generated by CGF)
- SelfLoadROSoftDelete.Business (library generated by CGF)
- VisualStudio 2010 solution for DAL DataReader, with 25 projects. Just like the previous solution, but each use scenario has 3 different assemblies: business, DAL interface and DAL for SQL Server.