private object[] ExtractShadowValues(IValueReader valueReader) { var shadowValues = new object[EntityType.ShadowPropertyCount()]; foreach (var property in EntityType.GetProperties().Where(property => property.IsShadowProperty)) { shadowValues[property.GetShadowIndex()] = MetadataServices.ReadValueFromReader(valueReader, property); } return(shadowValues); }