Example #1
0
        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());
        }
Example #2
0
        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);
            }
        }