public static string Insert <TEntity>(InsertCompiler <TEntity> Compiler) where TEntity : TableEntity { StringBuilder Builder = new StringBuilder(); Builder.Append($"INSERT INTO `{Compiler.GetTableName()}` ({Compiler.GetFields()}) VALUES ({Compiler.GetValueParameters()});"); return(Builder.ToString()); }
public async Task Insert <TEntity>(TEntity Item) where TEntity : TableEntity { InsertCompiler <TEntity> Compiler = new InsertCompiler <TEntity>(); Compiler.Compile(Item); int ScalarResult = await InsertAsync(QueryBuilder.Insert(Compiler), Compiler.GetParameters()); DBTableField AutoIncrementField = Manager.Cache.GetFields <TEntity>().SingleOrDefault(x => x.IsAutoIncrement); if (AutoIncrementField != null) { AutoIncrementField.Property.SetValue(Item, ScalarResult); } }