Dapper de SQL Server Actualice una fila donde las columnas son diferentes

c# dapper sql

Pregunta

Estoy escribiendo una aplicación de código abierto ( https://github.com/J-east/WellsFargoPDFTaxExtractor ) para importar PDF de extracto bancario en una instancia db de servidor SQL. Me gustaría tener un método sencillo para tomar un objeto de transacción y actualizar la base de datos de transacciones. Vea el código a continuación:

    public class Transaction {
        public int TransactionID;
        public long accountNumber;
        public DateTime TransDate;
        public string Title;
        public string Summary;
        public string catagory;
        public string typeOfTransaction;
        public double amount;
    }

    public static bool UpdateRow(Transaction t) {
        string sql = "update TRANSACTIONS SET ???? where TransactionID = @transactionID";

        // code to take t and update the rows where TransactionID = @transactionID and things are different

        return true;
    }

EDITAR: Gracias a @Loofer, he descubierto esta genial herramienta: DapperContrib

    [Table("Transactions")]
    public class TransactionContrib {
        [Key]
        public int TransactionID { get; set; }

        public long AccountNumber { get; set; }
        public DateTime TransDate { get; set; }
        public string Title { get; set; }
        public string Summary { get; set; }
        public string Catagory { get; set; }
        public string TypeOfTransaction { get; set; }
        public double Amount { get; set; }
    }

    public static bool UpdateRow(TransactionContrib t) {
        string conStr;
        if (Program.Settings.SqlSettings.IntegratedSec) {
            conStr = $"SERVER={Program.Settings.SqlSettings.server};DATABASE={Program.Settings.SqlSettings.database};Integrated Security = SSPI;";
        }
        else {
            conStr = $"SERVER={Program.Settings.SqlSettings.server};DATABASE={Program.Settings.SqlSettings.database};UID={Program.Settings.SqlSettings.userID};PWD={sqlpw}";
        }
        using (SqlConnection connection = new SqlConnection(conStr)) {
            return connection.Update(t);
        }            
    }

Respuesta aceptada



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué