/// <summary> /// Creates and adds a new conceptual model entity set. /// </summary> /// <param name="name">Entity set name for the new entity</param> /// <returns>A ModelEntitySet instance corresponding to the new entity set.</returns> public ModelEntitySet AddEntitySet(string name) { try { if (!EntitySets.Where(es => es.Name == name).Any()) { ModelEntitySet es = new ModelEntitySet(ParentFile, this, name); _modelEntitySets.Add(name, es); es.NameChanged += new EventHandler <NameChangeArgs>(es_NameChanged); es.Removed += new EventHandler(es_Removed); return(es); } else { throw new ArgumentException("An entity set with the name " + name + " already exist in the model."); } } 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> /// Adds a new entity set to the storage model. /// </summary> /// <param name="name">Entity set name for the new entityset.</param> /// <returns>A new StoreEntitySet object.</returns> public StoreEntitySet AddEntitySet(string name) { if (!EntitySets.Where(es => es.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)).Any()) { StoreEntitySet es = new StoreEntitySet(ParentFile, this, name); _storeEntitySets.Add(name, es); es.NameChanged += new EventHandler <NameChangeArgs>(es_NameChanged); es.Removed += new EventHandler(es_Removed); return(es); } else { throw new ArgumentException("An entity set with the name " + name + " already exist in the model."); } }
private string GetEntitySetName(IEdmSchemaType ct) { if (ct.TypeKind != EdmTypeKind.Entity) { return(string.Empty); } #if odataV3 var entitySet = EntitySets .Where(m => m != null && m.ElementType.FullName() == ct.FullName()) .DefaultIfEmpty().First(); #else var entitySet = EntitySets .Where(m => m != null && m.EntityType().FullName() == ct.FullName()) .DefaultIfEmpty().First(); #endif return(entitySet != null ? entitySet.Name : string.Empty); }