/// <summary> Converts the properties to sql. </summary> /// <param name="instance"> The properties. </param> /// <returns> The given data converted to a sql. </returns> public QueryBuilder ConvertToSql(object instance) { var flattener = new Flattener(); var properties = flattener.GetPropertiesWithDefaultValues <KeyAttribute>(instance); return(ConvertToSql(properties)); }
/// <summary> Generates a sql. </summary> /// <param name="item"> The item. </param> /// <param name="name"> The name. </param> /// <returns> The sql. </returns> private static Persist GenerateSql(object item, string name) { IKeysDefined[] keysDefineds = { new HasPrimaryKeys(), new PrimaryKeysNotDefined() }; var flattener = new Flattener(); var primaryKeys = flattener.GetPropertiesWithDefaultValues <KeyAttribute>(item).ToList(); var properties = flattener.GetNamesAndValues(item).ToList(); var nameTable = name ?? GetTableNameByType(item); var primaryKeysExists = primaryKeys.Any(); var first = keysDefineds.First(k => k.PrimaryKeysExist == primaryKeysExists); var sql = first.GenerateSql(nameTable, item, primaryKeys, properties); return(sql); }
/// <summary> Converts the properties to sql. </summary> /// <param name="instance"> The properties. </param> /// <returns> The given data converted to a sql. </returns> public string ConvertToSql(object instance) { Flattener flattener = new Flattener(); var properties = flattener.GetPropertiesWithDefaultValues<PrimaryKeyAttribute>(instance); return ConvertToSql(properties); }