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); } }
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); }