最初我曾在我們的DL的方法,將採取在它的更新,像這樣的對象:什麼名字2種方法用相同的簽名
internal void UpdateCash(Cash Cash)
{
using (OurCustomDbConnection conn = CreateConnection("UpdateCash"))
{
conn.CommandText = @"update Cash
set captureID = @captureID,
ac_code = @acCode,
captureDate = @captureDate,
errmsg = @errorMessage,
isDebit = @isDebit,
SourceInfoID = @sourceInfoID,
PayPalTransactionInfoID = @payPalTransactionInfoID,
CreditCardTransactionInfoID = @CreditCardTransactionInfoID
where id = @cashID";
conn.AddParam("@captureID", cash.CaptureID);
conn.AddParam("@acCode", cash.ActionCode);
conn.AddParam("@captureDate", cash.CaptureDate);
conn.AddParam("@errorMessage", cash.ErrorMessage);
conn.AddParam("@isDebit", cyberCash.IsDebit);
conn.AddParam("@PayPalTransactionInfoID", cash.PayPalTransactionInfoID);
conn.AddParam("@CreditCardTransactionInfoID", cash.CreditCardTransactionInfoID);
conn.AddParam("@sourceInfoID", cash.SourceInfoID);
conn.AddParam("@cashID", cash.Id);
conn.ExecuteNonQuery();
}
}
我的老闆認爲,每一次創建一個對象只是爲了更新一個或兩個領域是矯枉過正。但是我有一些代碼使用這個地方。他建議只使用UpdateCash併發送我想要更新的CAsh和字段的ID。那麼問題是我有我的原始方法在代碼中的2個地方。而這兩個地方正在更新Cash表中的兩個完全不同的字段。在我能夠獲取現有現金記錄並將其轉儲到Cash對象之前,然後更新我想要在數據庫中更新的屬性,然後將現金對象發送回我上面的方法。
我需要一些建議在這裏做什麼。我有2個方法,他們有相同的簽名。我不太確定,因爲兩者都在更新現金錶2個完全不同的領域如何重命名這些:
internal void UpdateCash(int cashID, int paypalCaptureID)
{
using (OurCustomDbConnection conn = CreateConnection("UpdateCash"))
{
conn.CommandText = @"update Cash
set CaptureID = @paypalCaptureID
where id = @cashID";
conn.AddParam("@captureID", paypalCaptureID);
conn.ExecuteNonQuery();
}
}
internal void UpdateCash(int cashID, int PayPalTransactionInfoID)
{
using (OurCustomDbConnection conn = CreateConnection("UpdateCash"))
{
conn.CommandText = @"update Cash
set PaymentSourceID = @PayPalTransactionInfoID
where id = @cashID";
conn.AddParam("@PayPalTransactionInfoID", PayPalTransactionInfoID);
conn.ExecuteNonQuery();
}
}
所以我想嗯,也許改變名稱,這些使他們現在唯一的,有點解釋它更新什麼領域:
UpdateCashOrderID
UpdateCashTransactionInfoID
好的,但這不是很好的名字。我不能去過於籠統,例如:
UpdateCashTransaction(int cashID, paypalTransactionID)
如果我們有不同類型的transactionIDs的,現金持有記錄除了剛剛的paypalTransactionInfoID?如creditCardInfoID?那又怎麼樣?交易不告訴我什麼樣的。進而,如果你要更新2場,所以你有2個PARAMS旁邊cashID PARAM什麼:
UpdateCashTransaction(int cashID, paypalTransactionID, someOtherFieldIWantToUpdate)
看到我的無奈?處理這個問題的最好辦法是我的老闆不喜歡我的第一條路線?
順便說一句,你不應該啓動一個大寫字母的參數(PayPalTransactionInfoID應該是payPalTransactionInfoID) – 2010-03-31 20:35:05
對不起,我需要更新這篇文章。該網站存在問題。 – PositiveGuy 2010-03-31 20:36:15
它實際上是造成問題嗎?有一個很好的機會,你的老闆只需要一個很好的STFU熱杯... – aehiilrs 2010-03-31 20:42:40