Ejemplo n.º 1
0
        void LoadInfos(EntityMap entityMap, DeleteSqlExecutionList executionList)
        {
            var deleteInfo = new DeleteSqlBodyInfo()
            {
                TableName = entityMap.TableName
            };

            executionList.Statements.Add(entityMap.FullName, deleteInfo);

            if (entityMap.IsSubClass)
            {
                var parentMap = session.SessionFactory.DbSettings.Map.GetEntityMap(entityMap.Extends);
                LoadInfos(parentMap, executionList);
            }
        }
Ejemplo n.º 2
0
        internal DeleteSqlExecutionList Build()
        {
            var execList = new DeleteSqlExecutionList();
            var store    = new EntityAccessorStore();
            var accessor = store.GetEntityAccessor(entityType, Table);
            var dialect  = session.SessionFactory.DbSettings.SqlDialect;

            LoadInfos(Table, execList);

            var whereExpression = BuildWhereExpression(dialect);

            foreach (var deleteSqlBodyInfo in execList.Statements)
            {
                deleteSqlBodyInfo.Value.WhereExpression = whereExpression;
            }

            return(execList);
        }