Hi,
We are going to use LLBLGen to generate DAL for our system. Our system has a lot of modules i.e. each module has its own set of tables and also there are some tables like Employees that are shared among the modules. All tables has prefixes according to the module it belongs.
Example of table names:
sysEmployee - means that this table is system i.e. shared between the modules
sysFolder - a system folder structure
docFolder - a folder structure of the documents in Documents module
trnWorkgroup - workgroups in Training module
and so on.
Also docFolder contains the field like CreateByID which references sysEmployee table.
We need to have this link in the DAL too.
Please note:
All modules are developed by one team.
All modules are deployed together.
I've several questions:
What is the best way to handle such architecture with LLBLGen?
Should we have different LLBLGen projects for each module? Or should we have one project for all modules?
I think about having a different namespaces for different modules and each namespace containing only module specific entities/tables . It'd be great to put them into different assemblies(however it is not neccessary).
Example:
{RootNamespace}.Dal - contains all entities that are shared among the modules
{RootNamespace}.Dal.{ModuleName} - contains entities for the module {ModuleName}
Another question is how to remove the prefixes so that on DAL we have Employee and so on.
Thanks,
Anton