Large Solution Support: Multiple .NET Namespaces


The Service Factory permits the creation of many models in the same model project, and even supports multiple model projects within a solution. Yet they all generate code into the same set of projects, with the same .NET namespaces. This is a prescription for name collisions.
There is a need to better control the namespaces into which artifacts are generated. At the very least, it should be possible to specify a .NET namespace in addition to an XML namespace when creating a new model.
Beyond that, it would be good if, in addition to a completely-specified namespace, a partial namespace could be specified. For instance, a data contract model generates artifacts into both the Data Contracts and Fault Contracts projects. Specifying a suffix when creating the data contract model would cause the artifacts to be generated into, say, DataContracts.Suffix and FaultContracts.Suffix namespaces.
The suffix might default to the model name.
It should also be possible to specify a suffix for a model project. Any suffixes defined on individual models within the model project would be appended to the one specified for the project as a whole. This would permit the use of model projects as a means of partitioning the set of models, including a partitioning of the namespaces into which code is generated.