public void Insert(Entity entity)
{
using (var connection = dbContext.CreateConnection())
{
string tableName = typeof(Entity).Name;
PropertyInfo[] properties = typeof(Entity).GetProperties();
string columns = string.Join(", ", properties.Select(p => p.Name));
string parameters = string.Join(", ", properties.Select(p => "@" + p.Name));
string query = $"INSERT INTO {tableName} ({columns}) VALUES ({parameters})";
// Query result: INSERT INTO Category (Name, [Order], Id, CreatedAt, CreatedBy, UpdatedAt, UpdatedBy)
VALUES (@Name, @[Order], @Id, @CreatedAt, @CreatedBy, @UpdatedAt, @UpdatedBy)
query = query.Replace("Order", "[Order]"); // I added a replace restriction because it is a special name in Order SQL.
connection.Execute(query, entity);
}
}
public void Insert(Entity entity)
{
using (var connection = dbContext.CreateConnection())
{
string tableName = typeof(Entity).Name;
PropertyInfo[] properties = typeof(Entity).GetProperties();
string columns = string.Join(", ", properties.Select(p => p.Name));
string parameters = string.Join(", ", properties.Select(p => "@" + p.Name));
string query = $"INSERT INTO {tableName} ({columns}) VALUES ({parameters})";
// Query result: INSERT INTO Category (Name, [Order], Id, CreatedAt, CreatedBy, UpdatedAt, UpdatedBy)
VALUES (@Name, @[Order], @Id, @CreatedAt, @CreatedBy, @UpdatedAt, @UpdatedBy)
query = query.Replace("Order", "[Order]"); // I added a replace restriction because it is a special name in Order SQL.
connection.Execute(query, entity);
}
}