/// <summary> /// Get entity configuration from the collection. /// </summary> /// <typeparam name="TEntity">Entity type.</typeparam> /// <returns>Returns configuration if found; otherwise, returns null.</returns> public EntityConfiguration <TEntity> Get <TEntity>() where TEntity : IEntity { string typeKey = typeof(TEntity).Name; EntityConfiguration <TEntity> entityConfig = null; if (_collection.ContainsKey(typeKey)) { entityConfig = _collection[typeKey] as EntityConfiguration <TEntity>; if (entityConfig == null) { throw new InvalidOperationException("Invalid entity type for retrieving entity configuration"); } } return(entityConfig); }
/// <summary> /// Add entity configuration to the collection. /// </summary> /// <typeparam name="TEntity">Entity type.</typeparam> /// <param name="configuration">Entity configuration to be added.</param> /// <returns>Returns entity configuration collection for chaining.</returns> public EntityConfigurationCollection Add <TEntity>(EntityConfiguration <TEntity> configuration) where TEntity : IEntity { string typeKey = typeof(TEntity).Name; IEntityConfiguration <IEntity> cfg = configuration as IEntityConfiguration <IEntity>; if (_collection.ContainsKey(typeKey)) { _collection[typeKey] = cfg; } else { _collection.Add(typeKey, cfg); } return(this); }