/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v4.1.15
src/Npgsql/Schema/NpgsqlDbColumn.cs
184 строки
5 KB
Shay Rojansky
Last nullability work for 4.1
22 сен 2019, 16:32
22 сен 2019, 16:32
9bd3fff
Код
Авторство
О чём код?
using System; using JetBrains.Annotations; using Npgsql.PostgresTypes; using NpgsqlTypes; #if !NET461 using System.Data.Common; #endif #pragma warning disable 1591 namespace Npgsql.Schema { /// <summary> /// Provides schema information about a column. /// </summary> /// <remarks> /// Note that this can correspond to a field returned in a query which isn't an actual table column /// /// See https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable(v=vs.110).aspx /// for information on the meaning of the different fields. /// </remarks> public class NpgsqlDbColumn : DbColumn { public NpgsqlDbColumn() { PostgresType = UnknownBackendType.Instance; // Not supported in PostgreSQL IsExpression = false; IsAliased = false; IsHidden = false; IsIdentity = false; } #region Standard fields #nullable disable // ReSharper disable once InconsistentNaming public new bool? AllowDBNull { get => base.AllowDBNull; protected internal set => base.AllowDBNull = value; } public new string BaseCatalogName { get => base.BaseCatalogName; protected internal set => base.BaseCatalogName = value; } public new string BaseColumnName { get => base.BaseColumnName; protected internal set => base.BaseColumnName = value; } public new string BaseSchemaName { get => base.BaseSchemaName; protected internal set => base.BaseSchemaName = value; } public new string BaseServerName { get => base.BaseServerName; protected internal set => base.BaseServerName = value; } public new string BaseTableName { get => base.BaseTableName; protected internal set => base.BaseTableName = value; } public new string ColumnName { get => base.ColumnName; protected internal set => base.ColumnName = value; } public new int? ColumnOrdinal { get => base.ColumnOrdinal; protected internal set => base.ColumnOrdinal = value; } public new int? ColumnSize { get => base.ColumnSize; protected internal set => base.ColumnSize = value; } public new bool? IsAutoIncrement { get => base.IsAutoIncrement; protected internal set => base.IsAutoIncrement = value; } public new bool? IsKey { get => base.IsKey; protected internal set => base.IsKey = value; } public new bool? IsLong { get => base.IsLong; protected internal set => base.IsLong = value; } public new bool? IsReadOnly { get => base.IsReadOnly; protected internal set => base.IsReadOnly = value; } public new bool? IsUnique { get => base.IsUnique; protected internal set => base.IsUnique = value; } public new int? NumericPrecision { get => base.NumericPrecision; protected internal set => base.NumericPrecision = value; } public new int? NumericScale { get => base.NumericScale; protected internal set => base.NumericScale = value; } public new string UdtAssemblyQualifiedName { get => base.UdtAssemblyQualifiedName; protected internal set => base.UdtAssemblyQualifiedName = value; } public new Type DataType { get => base.DataType; protected internal set => base.DataType = value; } public new string DataTypeName { get => base.DataTypeName; protected internal set => base.DataTypeName = value; } #nullable restore #endregion Standard fields #region Npgsql-specific fields [PublicAPI] public PostgresType PostgresType { get; internal set; } [PublicAPI] public uint TypeOID { get; internal set; } [PublicAPI] public uint TableOID { get; internal set; } [PublicAPI] public short? ColumnAttributeNumber { get; internal set; } [PublicAPI] public string? DefaultValue { get; internal set; } [PublicAPI] public NpgsqlDbType? NpgsqlDbType { get; internal set; } public override object? this[string propertyName] => propertyName switch { nameof(PostgresType) => PostgresType, nameof(TypeOID) => TypeOID, nameof(TableOID) => TableOID, nameof(ColumnAttributeNumber) => ColumnAttributeNumber, nameof(DefaultValue) => DefaultValue, nameof(NpgsqlDbType) => NpgsqlDbType, _ => base[propertyName] }; #endregion Npgsql-specific fields } }