internal QueryBuilderUpdate(IDbConnection connection, Compiler compiler, EntityDescription entityDescription) : base(connection, compiler, x => x.From(entityDescription.EntityTable.Name).AsUpdate(entityDescription.GetValues()).Where(entityDescription.GetWhere())) { EntityDescription = entityDescription; }
internal QueryBuilderInsert(IDbConnection connection, Compiler compiler, EntityDescription entityDescription) : base(connection, compiler, x => x.From(entityDescription.EntityTable.Name).AsInsert(entityDescription.GetValues(), entityDescription.EntityKey.AutoIncrement)) { EntityDescription = entityDescription; }
public T Save <T>() { SqlResult compile = CompileSqlResult(); Result <long> result = Connection.QueryFirstOrDefault <Result <long> >(compile.Sql, compile.NamedBindings); Query.ClearComponent("insert"); Query.Method = "select"; Query.Where(EntityDescription.GetPrimaryKeyName(), result.Id); compile = CompileSqlResult(); return(Connection.QueryFirstOrDefault <T>(compile.Sql, compile.NamedBindings)); }