提取此数据的最佳方式

时间:2014-09-30 19:12:10

标签: sql-server linq list entity-framework-5

我一直在研究一个问题,我正在尝试根据以下数据构建报告

  1. 所有练习脚本的列表都是在一段时间内完成的,并按医生计算错过的收入。
  2. 这就是我最初的做法。

    1. 撤回指定日期范围的列表
    2. 从#1
    3. 中返回的记录中获取不同提供者的列表
    4. 遍历每个提供程序并获取提供程序编写的脚本列表。
    5. 计算错过的收入,但查看脚本上药物和数量的过去交易。
    6. #1快速通过并快速撤回数据

      #2与此相同

      #3和#4是我的瓶颈发生的地方,因为对于每个脚本,我需要撤回该特定药物的交易清单并计算每丸的价格。然后计算可能的错失收入是基于pp(计算)和错误的脚本的数量。

      我正在使用实体框架,脚本实体和过去交易的实体。我现在知道瓶颈在哪里,但我不知道如何绕过它。

      我是否将视图和过去的事务工作放在一个调用中,或者是否有办法在.NET代码中执行此操作,而不必每个脚本一次遍历所有内容。

      欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

如果没有表格结构,有点难以回答,但我认为使用存储过程是一种方法,而不是视图,或使用EF进行迭代。

1.回滚指定日期范围的列表

使用存储过程中的WHERE子句

执行此操作

2.从#1

中返回的记录中获取不同提供者的列表

在查询中使用DISTINCT运算符

3.遍历每个提供程序并获取提供程序编写的脚本列表。

使用JOIN加入此数据

4.计算错过的收入,但查看过去的交易以及脚本上的药物和数量。

这可以使用SP

中的派生表或子选择来完成

如果您可以发送带有几个示例行的表格,我可以为您构建SP。