public IValueContainer CreatePropertySet(Type valueType) { var interfaceType = valueType; var projection = Projection.CreateInstance(interfaceType); var valuesProxyFactory = _projectionTypes[projection.GetType()]; var valuesProxy = valuesProxyFactory.Create(projection); return(new EntityProjectionContainer(interfaceType, valuesProxy, projection)); }