public void When_related_entities_and_relationship_are_used_child_entities_are_created() { var ctx = new XrmFakedContext(); var service = ctx.GetFakedOrganizationService(); ctx.AddRelationship("order_details", new XrmFakedRelationship() { Entity1LogicalName = SalesOrder.EntityLogicalName, //Referenced Entity1Attribute = "salesorderid", //Pk Entity2LogicalName = SalesOrderDetail.EntityLogicalName, Entity2Attribute = "salesorderid", //Lookup attribute RelationshipType = XrmFakedRelationship.enmFakeRelationshipType.OneToMany }); var order = new SalesOrder(); var orderItems = new EntityCollection(new List<Entity>() { new SalesOrderDetail(), new SalesOrderDetail() }); // Add related order items so it can be created in one request order.RelatedEntities.Add(new Relationship { PrimaryEntityRole = EntityRole.Referenced, SchemaName = "order_details" }, orderItems); var request = new CreateRequest { Target = order }; var id = (service.Execute(request) as CreateResponse).id; var createdOrderDetails = ctx.CreateQuery<SalesOrderDetail>().ToList(); Assert.Equal(createdOrderDetails.Count, 2); Assert.Equal(createdOrderDetails[0].SalesOrderId.Id, id); Assert.Equal(createdOrderDetails[1].SalesOrderId.Id, id); }