/// <inheritdoc />
        public override Type GetFieldType(int ordinal)
        {
            EnsureInitialized();
            AssertReaderIsOpen("GetFieldType");
            Type result;

            if (_dataRecord.HasData)
            {
                result = _dataRecord.GetFieldType(ordinal);
            }
            else
            {
                result = GetClrTypeFromTypeMetadata(_defaultRecordState.GetTypeUsage(ordinal));
            }
            return(result);
        }