From what I gather, you have two methods of saving your cluseters. The first one is as a byproduct of the saving or regions. If you have basic CRUD WCF endpoints, you can simply construct your Region entity in your client, add the clusters, and then call the save.
var reg = new Region();
//set region properties
//build clusters set
for (int i = 0; i<5; i++)
reg.Clusters.add (new Cluster {CreatedDateTime= DateTime.Now,
UpdatedDateTime = DateTime.Now});
wcfClient.SaveRegion(reg); //<-- if the back-end works with EF, this should be able
//to insert one new region with five new clusters
Your other option is to save clusters through a WCF endpoint that is designed to save clusters themselves. Before doing this, I would recommend that you modify your Clusters entity to explicitly have a RegionId field.
public partial class Clusters
{
public int ClusterId { get; set; }
public System.DateTime CreatedDateTime { get; set; }
public System.DateTime UpdatedDateTime { get; set; }
public int RegionsId {get; set;}
public virtual Regions Region { get; set; }
}
Entity framework should be able to recognize automatically that the RegionsId corresponds to the primary key of the Regions entity. After this, it's just a matter of making sure that every Cluster you create has a proper RegionsId property. When you call your "wcfClient.SaveCluster(cluster)" method, EF would automatically link that cluster to the proper region.