I'm a little biased but I would suggest looking into SQL Server.
- Serveral editions from free to all the bells and whistles
- Full support for transactions
- Full .Net library support
- 2016 version performance is on par with Oracle
- T-SQL is easier to work with pure opinion
Example of using transactions with SQL Server and .Net
SqlConnection conn = new SqlConnection(_connectionString);
try
{
conn.Open();
SqlTransaction trans = conn.BeginTransaction();
SqlCommand = new SqlCommand() { Connectin = conn, CommandType = SqlCommandType.StoredProcedure };
trans.Commit();
}
catch(SqlException)
{
trans.Rollback();
}