Question: I have a .NET solution with 4 library projects resulting in 4 assemblies.

There are classes in these assemblies that generate some partial information in a linear workflow. 
By information=generated I mean some business logic information inclusive of timestamp, # of records etc.
The final table into which this information has to be inserted contains 16 columns...each of these assemblies have loggable information for just 4 columns.
My objective is to aggregate all this information and log it to the database in a single DB call...instead of doing it 4 times.

To be more clear, a class in namespace A which (namespace/assembly A imports/uses B and C)... instantiatesa class inside B and C respectively .

I do not have access to information generated in methods inside B and C classes in the class in namespaceA. But I want to aggregate all of the information and push it to the database in a single insert.

How should I approach this problem?
I want to persist the data across all these different assemblies and log the data to the databse in a single call.How can I persist the data?

Answer: 
If you want to insert data produced by classes A, B, and C all at once, then *something* needs to be able to access all of that data at the insertion point. 

If, as you say, B and C aren't available to A, have you considered a separate class (in its own assembly, for example) that is concerned only with persistence? 

Such a class could reference A, B, and C, pull the data from each (assuming that they expose their data, somehow... if not, I've no idea how you'd accomplish what you seek), aggregate that data and insert it.

This way, A, B, and C remain ignorant of each other, and of the class that persists their data.
As far as I can interpret the question, I suspect you might benefit from an aggregator class (a [Collecting Parameter](http://www.industriallogic.com/xp/refactoring/accumulationToCollection.html) or even a more complicated [Visitor](http://www.industriallogic.com/xp/refactoring/accumulationToVisitor.html)) that visits each information generating class, compiles data, and can then eventually be asked to publish the compiled data somewhere else.