Example #1
0
        public void ApplyForeignKeyChange(EntityChange entity)
        {
            foreach (var identityChange in _primaryKeyChanges)
            {
                var foreignKey = entity.GetForeignKeyOf(identityChange.EntityName);
                if (foreignKey == null)
                {
                    continue;
                }

                foreignKey.ApplyForeignKeyChange(identityChange);
            }
        }
Example #2
0
        public bool HasForeignKeyDeleted(EntityChange entity)
        {
            _hasForeignKeyDeleted = _primaryKeyDeleted.Any(
                _ =>
            {
                var entityNameDeleted = _.GetEntityNameFromTombstone();
                var entityForeignKey  = entity.GetForeignKeyOf(entityNameDeleted);
                var hasForeignKey     = entityForeignKey != null;
                if (!hasForeignKey)
                {
                    return(false);
                }

                var deletedPrimaryId = _.GetPrimaryKeyValue();
                return(entityForeignKey.IsValueEquals(deletedPrimaryId));
            });

            return(_hasForeignKeyDeleted);
        }