我使用實體框架6和數據庫第一種方法來建立一個項目,
假設這2個表:實現計算列的最佳方式是什麼?
Tasks
id | taskName | taskPrice
1 | Making UI| 100
2 | Debugging| 70
,第二個表:
Employees
id | Name | spentHours| taskId | *totalPrice*
1 | Iman | 10 | 2 | (10 * 70) = 700
2 | Sam | 5 | 1 | (5 * 100) = 500
我需要做totalPrice值可用於我的項目的所有部分,因此最好不要爲每次使用計算它。
爲了實現這一點,我到目前爲止這三個解決方案: 1-我可以分配一個列totalPrice並更新它的值,我不認爲這是最優化的方式,因爲如果taskPrice更改I需要重新計算&更新totalPrice值。
2-秒方法是通過使用存儲過程。
3-和第三個是通過使用觸發器。
哪一種方法是計算最優化的方法,高於&時間?
如果還有其他方法,請告訴我。
的視角看起來像股份公司ood choice here, – Magnus
數據庫中不應該有計算列。只需在模型中有一個返回計算值的屬性 –
@StephenMuecke問題是,我每次創建模型的新實例時,計算都會重新出現。 –