/// <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); }
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); }