[c#] डैपर डॉट नेट के साथ लेनदेन


Answers

मैं लेनदेन को सीधे कनेक्शन से प्राप्त करके अधिक सहज दृष्टिकोण का उपयोग करना पसंद करता हूं:

// This method will get a connection, and open it if it's not yet open.
using (var connection = GetOpenConnection())
using (var transaction = connection.BeginTransaction())
{
    connection.Execute(
        "INSERT INTO data(Foo, Bar) values (@Foo, @Bar);", listOf5000Items, transaction);
    transaction.Commit();
}
Question

मैं एकाधिक टेबल पर एकाधिक सम्मिलन बयान चलाने के लिए चाहता हूँ। मैं dapper.net का उपयोग कर रहा हूँ। मुझे dapper.net के साथ लेनदेन को संभालने का कोई तरीका नहीं दिखता है।

Dapper.net के साथ लेनदेन का उपयोग करने के तरीके पर अपने विचार साझा करें।




डैनियल का जवाब मेरे लिए अपेक्षित काम करता था। पूर्णता के लिए, यहां एक स्निपेट है जो लेनदेन के दायरे और डैपर का उपयोग करके प्रतिबद्धता और रोलबैक प्रदर्शित करता है:

using System.Transactions;
    // _sqlConnection has been opened elsewhere in preceeding code 
    using (var transactionScope = new TransactionScope())
    {
        try
        {
            long result = _sqlConnection.ExecuteScalar<long>(sqlString, new {Param1 = 1, Param2 = "string"});

            transactionScope.Complete();
        }
        catch (Exception exception)
        {
            // Logger initialized elsewhere in code
            _logger.Error(exception, $"Error encountered whilst executing  SQL: {sqlString}, Message: {exception.Message}")

            // re-throw to let the caller know
            throw;
        }
    } // This is where Dispose is called 



Related



Tags

c# c#   dapper