Не мой сценарий, но я построил этот пример, чтобы узнать, как решить мою проблему. Используя Entity Framework у меня есть следующие модели:
namespace ClassTesting.Models
{
using System;
using System.Collections.Generic;
public partial class Player
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Player()
{
this.Deposit_Transactions = new HashSet<Deposit_Transactions>();
}
public long id { get; set; }
public string player_name { get; set; }
public decimal player_balance { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Deposit_Transactions> Deposit_Transactions { get; set; }
}
}
namespace ClassTesting.Models
{
using System;
using System.Collections.Generic;
public partial class Deposit_Transactions
{
public long id { get; set; }
public System.DateTime transaction_date { get; set; }
public decimal transaction_amount { get; set; }
public long fk_player_id { get; set; }
public virtual Player Player { get; set; }
}
}
Таким образом, у игрока может быть много Deposit_Transactions.
Что я хочу сделать, так это чтобы каждый раз при публикации новой Deposit_Transaction обновлялся атрибут player_balance игрока. Я могу сделать это, но мое решение действительно неуклюже и включает в себя выборку игрока и обновление после внесения депозита. То, что я хочу знать, - что такое метод «наилучшей практики» для этого?