【问题标题】:How to get Last Row Count Value in linq如何在linq中获取最后一行计数值
【发布时间】:2013-02-03 17:05:59
【问题描述】:

是否可以在不使用 linq 查询数据库的情况下获取最后一行计数值?

我有一个场景,我进行 linq 查询以查找一些记录并计数,但是当我第二次使用 linq 查询时,我希望计数最后影响的行而不查询数据库

谢谢

【问题讨论】:

  • 什么是“最后一行计数值”? count 是列还是记录数?
  • 你能更具体一点,也许发布一些代码/伪代码?您正在运行查询,然后想要计算之后的内容?返回的行数?
  • 在 SQL Server 中有一个名为@@RowCount 的函数,它返回受最后一条语句影响的行数。我想要一些类似的 linq 语句,而不需要像 int count=db.tablename.count() 这样的数据库查询,这与 select count(*) from tablename
  • 您确实应该显示执行查询的代码。也许这只是在某处做一个 ToList() 以防止重新执行的问题,也许应该修改查询。谁知道?

标签: linq entity-framework


【解决方案1】:

如果我理解你是正确的 - 你想要非查询语句影响的行数吗? 更新、插入、删除(读取查询不影响行)

调用context.SaveChanges() 返回受影响的行数。 context 是您的 EntityModel 的一个实例

【讨论】:

    【解决方案2】:

    您可以通过多种方式实现结果:

    1. 将结果计数存储到变量中,并仅在一定时间后重新计算
    2. 将结果计数存储到缓存中(请参阅企业库)
    3. 将结果计数存储到表中,并使用表上的触发器重新计算计数。

    【讨论】:

    • 我正在使用带有 linq 的 ASP.Net MVC,哪种解决方案会更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多