public Dictionary<ITypeInfo, string> GenerateSql(ISqlGeneratorFormatter sqlGeneratorFormatter, IList<ITypeInfo> typeInfos) { var dictionary = new Dictionary<ITypeInfo, string>(); var dataSetDataStore = new DataSetDataStore(); var unitOfWork = new UnitOfWork(new SimpleDataLayer(_typeHelper.XPDictionary, dataSetDataStore)); foreach (var typeInfo in typeInfos) { SetupDataStore(dataSetDataStore, unitOfWork, typeInfo); var sql = new SelectSqlGenerator(sqlGeneratorFormatter).GenerateSql(dataSetDataStore.SelectStatement).Sql; sql = ParseSql(sql); dictionary.Add(typeInfo, sql); } return dictionary; }
public Dictionary <ITypeInfo, string> GenerateSql(ISqlGeneratorFormatter sqlGeneratorFormatter, IList <ITypeInfo> typeInfos) { var dictionary = new Dictionary <ITypeInfo, string>(); var dataSetDataStore = new DataSetDataStore(); var unitOfWork = new UnitOfWork(new SimpleDataLayer(_typeHelper.XPDictionary, dataSetDataStore)); foreach (var typeInfo in typeInfos) { SetupDataStore(dataSetDataStore, unitOfWork, typeInfo); var sql = new SelectSqlGenerator(sqlGeneratorFormatter).GenerateSql(dataSetDataStore.SelectStatement).Sql; sql = ParseSql(sql); dictionary.Add(typeInfo, sql); } return(dictionary); }
/// <summary> /// Генерирует выражение констрейнта для указанного критерия /// </summary> /// <param name="formatter">Представитель форматирования sql-запросов</param> /// <param name="criteria">Критерий, для которого генерируется выражение констрейнта</param> /// <param name="reason">Причина невозможности преобразования критерия в констрейнт, если операция завершилась неуспешно</param> /// <returns>Строка выражения констрейнта для указанного критерия или null, если критерий не может быть преобразован в констрейнт</returns> public static string GenerateExpression(ISqlGeneratorFormatter formatter, CriteriaOperator criteria, out string reason) { reason = null; try { return new OracleCheckConstraintGenerator(formatter).Process(criteria); } catch (CheckConstraintImpossible ex) { reason = ex.Message; return null; } }
/// <summary> /// Генерирует выражение констрейнта для указанного критерия /// </summary> /// <param name="formatter">Представитель форматирования sql-запросов</param> /// <param name="criteria">Критерий, для которого генерируется выражение констрейнта</param> /// <returns>Строка выражения констрейнта для указанного критерия или null, если критерий не может быть преобразован в констрейнт</returns> public static string GenerateExpression(ISqlGeneratorFormatter formatter, CriteriaOperator criteria) { try { return new OracleCheckConstraintGenerator(formatter).Process(criteria); } catch (CheckConstraintImpossible) { return null; } }
// Конструктор с указанным представителем форматирования private OracleCheckConstraintGenerator(ISqlGeneratorFormatter formatter) : base(false) { this.formatter = formatter; this.formatterEx = formatter as ISqlGeneratorFormatterEx; }