Esempio n. 1
0
 /// <summary>
 /// Retrieves an existing entity set, or creates a new one if no matching entityset is found.
 /// </summary>
 /// <param name="entitySetName">Entity set name.</param>
 /// <returns>A ModelEntitySet object.</returns>
 public ModelEntitySet GetOrCreateEntitySet(string entitySetName)
 {
     try
     {
         ModelEntitySet modelEntitySet = EntitySets.FirstOrDefault(es => es.Name.Equals(entitySetName));
         if (modelEntitySet == null)
         {
             modelEntitySet = AddEntitySet(entitySetName);
         }
         return(modelEntitySet);
     }
     catch (Exception ex)
     {
         try
         {
             if (!ex.Data.Contains("EDMXType"))
             {
                 ex.Data.Add("EDMXType", this.GetType().Name);
             }
             if (!ex.Data.Contains("EDMXObjectName"))
             {
                 ex.Data.Add("EDMXObjectName", this.ContainerName);
             }
         }
         catch { }
         throw;
     }
 }
        /// <summary>
        /// Retrieves an existing entityset by name, or creates a new one if no matching entity set exist in the storage model.
        /// </summary>
        /// <param name="entitySetName">Name of the entity set to get or create.</param>
        /// <returns>A StoreEntitySet object.</returns>
        public StoreEntitySet GetOrCreateEntitySet(string entitySetName)
        {
            StoreEntitySet storeEntitySet = EntitySets.FirstOrDefault(es => es.Name.Equals(entitySetName, StringComparison.InvariantCultureIgnoreCase));

            if (storeEntitySet == null)
            {
                storeEntitySet = AddEntitySet(entitySetName);
            }
            return(storeEntitySet);
        }
Esempio n. 3
0
 private EntitySetBase FindEntitySet(EdmType entityType)
 {
     while (entityType != null)
     {
         var set = EntitySets.FirstOrDefault(es => es.ElementType == entityType);
         if (set != null)
         {
             return(set);
         }
         entityType = entityType.BaseType;
     }
     return(null);
 }
        /// <summary>
        /// Retrieves an existing entityset based on a conceptual model entityset/type, or creates a new one if a match can not be found.
        /// </summary>
        /// <param name="modelEntitySet">Conceptual model entity set to match.</param>
        /// <param name="modelEntityType">Conceptual model entity type to match.</param>
        /// <param name="schemaName">Database schemaname for the new entity set.</param>
        /// <param name="tableName">Tablename for the new entityset.</param>
        /// <returns>A StoreEntitySet object.</returns>
        public StoreEntitySet GetOrCreateEntitySet(ModelEntitySet modelEntitySet, ModelEntityType modelEntityType, string schemaName, string tableName)
        {
            string entitySetName = null;

            if (!modelEntityType.HasBaseType)
            {
                entitySetName = modelEntitySet.Name;
            }
            else
            {
                entitySetName = modelEntityType.TopLevelBaseType.EntitySet.Name + "_" + modelEntityType.Name;
            }

            StoreEntitySet storeEntitySet = EntitySets.FirstOrDefault(es => es.Name.Equals(entitySetName, StringComparison.InvariantCultureIgnoreCase));

            if (storeEntitySet == null)
            {
                storeEntitySet = AddEntitySet(modelEntitySet, modelEntityType, schemaName, tableName);
            }
            return(storeEntitySet);
        }