Esempio n. 1
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SQLiteReferencesColumnConstraint dst = obj as SQLiteReferencesColumnConstraint;

            if (dst == null)
            {
                return(false);
            }

            if (_foreignTable != dst._foreignTable)
            {
                return(false);
            }

            if (!RefCompare.CompareList <SQLiteIndexedColumn>(_columns, dst._columns))
            {
                return(false);
            }
            if (!RefCompare.CompareList <SQLiteReferenceHandler>(_handlers, dst._handlers))
            {
                return(false);
            }

            return(base.Equals(obj));
        }
Esempio n. 2
0
        public override object Clone()
        {
            List <SQLiteIndexedColumn> columns = null;

            if (_columns != null)
            {
                columns = new List <SQLiteIndexedColumn>();
                foreach (SQLiteIndexedColumn c in _columns)
                {
                    columns.Add((SQLiteIndexedColumn)c.Clone());
                }
            }
            List <SQLiteReferenceHandler> handlers = null;

            if (_handlers != null)
            {
                handlers = new List <SQLiteReferenceHandler>();
                foreach (SQLiteReferenceHandler h in _handlers)
                {
                    handlers.Add((SQLiteReferenceHandler)h.Clone());
                }
            }

            SQLiteReferencesColumnConstraint res = new SQLiteReferencesColumnConstraint(ConstraintName);

            res._foreignTable = _foreignTable;
            res._columns      = columns;
            res._handlers     = handlers;
            return(res);
        }