/// <summary>
 ///     returns list of StorageProperties mapped to a ConceptualProperty via an EntitySetMapping
 ///     or an EntityTypeMapping
 /// </summary>
 /// <param name="cProp"></param>
 /// <returns></returns>
 private static IEnumerable<StorageProperty> MappedStorageProperties(ConceptualProperty cProp)
 {
     Debug.Assert(null != cProp, "null ConceptualProperty");
     if (null != cProp)
     {
         // loop over ConceptualProperties mapped to this ConceptualProperty
         foreach (var sp in cProp.GetAntiDependenciesOfType<ScalarProperty>())
         {
             // only use ScalarProperty elements inside an EntitySetMapping or EntityTypeMapping
             // (MappingFragment is only used by those types of mappings)
             if (null != sp.GetParentOfType(typeof(MappingFragment)))
             {
                 var sProp = sp.ColumnName.Target as StorageProperty;
                 if (null != sProp)
                 {
                     yield return sProp;
                 }
             }
         }
     }
 }