예제 #1
0
        protected virtual CustomEntitySet GetEntitySetByName(string entitySetName)
        {
            CustomEntitySet entitySet;

            if (_entitySetMap.TryGetValue(entitySetName, out entitySet))
            {
                return(entitySet);
            }

            CustomEntitySetType entitySetType = MetadataWorkspace.GetEntitySet(entitySetName);
            Type entitySetOfT = typeof(CustomEntitySetOfT <>).MakeGenericType(entitySetType.BaseElementType.ClrObjectType);

            entitySet = (CustomEntitySet)Activator.CreateInstance(entitySetOfT, MetadataWorkspace, entitySetType, this);
            return(_entitySetMap[entitySetName] = entitySet);
        }