/// <summary>
        /// (De)Serialize this object
        /// </summary>
        /// <param name="rw">Reader/writer</param>
        public override void DeSerialize(IObjectReadWriter rw)
        {
            byte _ = rw.ReadWriteVersion(0);

            Name = rw.ReadWriteString(nameof(Name), Name);

            DbSchemaName = rw.ReadWriteString(nameof(DbSchemaName), DbSchemaName);
            _columns     = rw.ReadWriteList(nameof(_columns), _columns);
            Triggers     = rw.ReadWriteList(nameof(Triggers), Triggers);
        }
        /// <summary>
        /// (De)Serialize this object
        /// </summary>
        /// <param name="rw">Reader/writer</param>
        public override void DeSerialize(IObjectReadWriter rw)
        {
            byte _ = rw.ReadWriteVersion(0);

            Name = rw.ReadWriteString(nameof(Name), Name);

            Server               = rw.ReadWriteString(nameof(Server), Server);
            StoredProcedures     = rw.ReadWriteList(nameof(StoredProcedures), StoredProcedures);
            Functions            = rw.ReadWriteList(nameof(Functions), Functions);
            TableValuedFunctions = rw.ReadWriteList(nameof(TableValuedFunctions), TableValuedFunctions);
            Tables               = rw.ReadWriteList(nameof(Tables), Tables);
        }
        /// <summary>
        /// (De)Serialize this object
        /// </summary>
        /// <param name="rw">Reader/writer</param>
        public override void DeSerialize(IObjectReadWriter rw)
        {
            byte _ = rw.ReadWriteVersion(0);

            base.DeSerialize(rw);

            Parameters = rw.ReadWriteList(nameof(Parameters), Parameters, c =>
            {
                if (c.TypeName.EndsWith(typeof(DbObjectTableColumnSchema).Name, StringComparison.InvariantCulture))
                {
                    c.Instance = new DbObjectTableColumnSchema();
                }
                else if (c.TypeName.EndsWith(typeof(DbObjectParameterSchema).Name, StringComparison.InvariantCulture))
                {
                    c.Instance = new DbObjectParameterSchema();
                }
                else
                {
                    throw new NotImplementedException();
                }
            });
        }