SQL Server Dapper 更新列不同的行
SQL Server Dapper Update a row where columns are different
我正在编写一个开源应用程序 (https://github.com/J-east/WellsFargoPDFTaxExtractor),用于将银行对帐单 PDF 导入 sql 服务器数据库实例。我想要一个简单的方法来获取交易对象并更新交易数据库。请参阅下面的代码:
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;
}
编辑:
感谢@Loofer,我发现了这个非常酷的工具: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);
}
}
看看 Dapper Contrib package 也许吧?
我正在编写一个开源应用程序 (https://github.com/J-east/WellsFargoPDFTaxExtractor),用于将银行对帐单 PDF 导入 sql 服务器数据库实例。我想要一个简单的方法来获取交易对象并更新交易数据库。请参阅下面的代码:
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;
}
编辑: 感谢@Loofer,我发现了这个非常酷的工具: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);
}
}
看看 Dapper Contrib package 也许吧?