public bool KeyChanged(ITableConfig table) { if (!this.Exists(table)) { return(false); } var key = default(object); if (!this.HasKey(table, out key)) { return(true); } var item = this.Get(table); if (!EqualityComparerFactory.Instance.Create(table.PrimaryKey.Property.PropertyType).Equals(EntityKey.GetKey(table, item), key)) { return(true); } return(false); }