У меня две таблицы: транзакции и транзакционные агенты. TransactionAgents имеет внешний ключ для транзакций, называемых TransactionID. Довольно стандартный.
У меня также есть этот код:
BrokerManagerDataContext db = new BrokerManagerDataContext();
var transactions = from t in db.Transactions
where t.SellingPrice != 0
select t;
var taAgents = from ta in db.TransactionAgents
select ta;
foreach (var transaction in transactions)
{
foreach(var agent in taAgents)
{
agent.AgentCommission = ((transaction.CommissionPercent / 100) * (agent.CommissionPercent / 100) * transaction.SellingPrice) - agent.BrokerageSplit;
}
}
dataGridView1.DataSource = taAgents;
В принципе, TransactionAgent имеет свойство /column с именем AgentCommission, которое является нулевым для всех TransactionAgents в моей базе данных.
Моя цель - выполнить математику, которую вы видите в foreach(var agent in taAgents)
, чтобы исправить значение для каждого агента, чтобы оно не было нулевым.
Как ни странно, когда я запускаю этот код и точку прерывания на agent.AgentCommission = (formula)
, он показывает, что значение вычисляется для AgentCommissision, и объект обновляется, но после того, как он отображается в моем datagrid (используется только для тестирования), он не покажите значение, которое оно подсчитало.
Итак, мне кажется, что свойство не постоянно устанавливается на объект. Что еще? Если я сохраню этот обновленный объект обратно в базу данных с обновлением, я сомневаюсь, что вычисленный агент AgentCommission будет установлен там.
Без того, чтобы моя таблица настраивалась одинаково, есть ли кто-нибудь, кто может посмотреть на код и посмотреть, почему я не сохраняю значение свойства?