I am currently stuck in the design of this solution.

The data layer design consists of the following:

* Recipe (parent high level object)
	+ Language Detail (name, description by language) (many)
		- Headers (many)
		- Steps (many)
			* Ingredients (many)
			* Quantities (many)
			* Procedures (many)
		- Notes (many)

The challenge that I am having is how to create a data access design that will add/remove the child objects in the database when the object is populated from a WCF SaveRecipe(recipe) method?

This all stems from the management asking us to add a communications layer in our application, right now our UI is coupled to our business layer, and the BL is directly coupled to the DAL, we basically need the injection of WCF between the BL and DAL.

I have read in [this thread](https://stackoverflow.com/questions/135339/linqtosql-and-wcf) that using L2S isn't a good idea over WCF, but since the design isn't new, we have to use this type of methodology, and then move away from it once we can refactor the heavy amounts of UI work.