1
我正在寻找处理在数据库(不在客户端)上计算的列的最佳方式。原因是表现。实体框架高级计算字段?
例如,这是一个发票计划,每个客户旁边我想显示当前余额(所有发票金额减去所有付款金额)。我可以想到3种方法来实现这一点:
1)将一个属性添加到客户类,它计算客户端的余额。这显然没有效率;这是我目前所做的。
2)我可以使用实体sql来计算它在分贝?我根本不知道实体sql,所以在我学习之前我想知道它是否可能/实用。
3)创建于而不是表
我缺少的东西更好的数据库和地图上的看法?哪个最好?
谢谢! -Carl
对于它的价值,选项#3似乎对我来说是最实用的。我创建了看法,但现在我当它关联到原来的表会遇到一个问题 - 问题说明如下:Entities framework mapping association between view and table
余额必须是最新的?涉及从另一个表中选择和处理一堆行的计算总是会引入一些开销,所以也许最好在批处理中计算而不是按需计算。 即使批处理不是一个选项,考虑可接受的陈旧性可能意味着您可以考虑某种缓存方法。 – pdbartlett 2010-07-26 11:08:38
它可能是可以接受的,但为了学习的目的(我是新来的实体框架),简单性和100%准确性,我宁愿将它作为实时计算。这个发票应用程序是我自己使用的,所以数据库非常小。 – tenfour 2010-07-26 11:14:26