/// <summary>
        /// Get a column binding.
        /// </summary>
        public static IDbColumnBinding GetColumn(this IDbTableBinding binding, DbColumnsSelection selection)
        {
            var col = binding.FindColumn(selection);

            if (col == null)
            {
                throw new ArgumentException($"Invalid column of kind {selection} in table [{binding.TableName}]");
            }

            return(col);
        }
        /// <summary>
        /// Get a column binding.
        /// </summary>
        public static IDbColumnBinding GetColumn(this IDbTableBinding binding, string propertyName)
        {
            var col = binding.FindColumn(propertyName);

            if (col == null)
            {
                throw new ArgumentException($"Invalid column {propertyName} in table [{binding.TableName}]");
            }

            return(col);
        }