【问题标题】:Calculating monthly reports or statistics - MVC Entity Framework LinQ计算月报表或统计数据 - MVC Entity Framework LinQ
【发布时间】:2010-03-29 15:53:36
【问题描述】:

我正在使用 MVC (C#) 和实体框架。我有一个 sql server 数据库,其中包含名为 Profile、Gallery、ArtWork 的表:

简介: 用户名, 名, 等等……

画廊: 图库ID, 用户名, 画廊名称,

艺术品: 图像指南, 画廊 ID, 描述, 发布日期, 意见, 下载,

我的表之间有如下关系:

Profile->Gallery->ArtWork(上面加粗的外键)

我想知道的是为统计页面获取以下内容的最有效方法:

  1. 本月下载量排名前 10 的艺术作品

  2. 本月下载次数最多的设计师。

为上述内容构建 LinQ 很容易,但我不想在每次用户查看统计页面时都访问数据库。可能有 30,000 多名设计师每个人都有 5000 多位艺术作品,我不希望每次有人点击统计页面时都计算这些结果。我只想每天访问数据库以获取 stat 1,每月访问 stat 2

我是最好为数据库中的每个统计数据使用一个视图并一直访问它,还是最好设置一个计时器以每天和每月访问数据库(如果是这样,请问如何?),还是有更好的方式。

提前致谢

【问题讨论】:

    标签: c# sql-server asp.net-mvc linq entity-framework


    【解决方案1】:

    我会将查询结果存储在应用程序Cache 中。如果你这样做了,你如何构造查询并不重要,因为它只会运行一次,直到缓存项过期。

    【讨论】:

    • 一个合乎逻辑的想法,非常干净。感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 2012-07-25
    • 2014-02-14
    • 2012-02-03
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    相关资源
    最近更新 更多