实体框架 - 从数据库刷新对象

2024-03-06

我在刷新数据库中的对象时遇到问题。我有两台电脑和两个应用程序。

在第一台 PC 上,有一个应用程序与我的数据库通信并向测量表添加一些数据。 在我的另一台 PC 上,有一个应用程序可以在计时器下检索最新的测量值,因此它也应该检索由我的第一台 PC 上的应用程序添加的测量值。

问题是事实并非如此。在我的应用程序启动时,它会缓存数据库中的所有数据,并且永远不会添加新数据。我使用 Refresh() 方法,当我更改任何缓存的数据时,该方法效果很好,但它不会刷新新添加的数据。

这是我应该更新数据的方法:

    public static Entities myEntities = new Entities();

    public static Measurement GetLastMeasurement(int conditionId)
    {
        myEntities.Refresh(RefreshMode.StoreWins, myEntities.Measurements);

        return (from measurement in myEntities.Measurements
                where measurement.ConditionId == conditionId
                select measurement).OrderByDescending(cd => cd.Timestamp).First();
    }

附: 应用程序在 app.config 中有不同的连接字符串(同一数据库的不同帐户)。


这应该有效:

public static Entities myEntities = new Entities();

public static Measurement GetLastMeasurement(int conditionId)
{
    myEntities.Refresh(RefreshMode.StoreWins, myEntities.Measurements);
    var allMeasurements = myEntities.Measurements.ToList();//retrieves all measurements from database

    return (from measurement in allMeasurements
            where measurement.ConditionId == conditionId
            select measurement).OrderByDescending(cd => cd.Timestamp).First();
}

当您每次想要使用存储时都刷新存储时,缓存有何意义?你可以将其更改为:

public Measurement GetLastMeasurement(int conditionId)
{
    var entities = new Entities();
    return (from measurement in entities.Measurements
            where measurement.ConditionId == conditionId
            select measurement).OrderByDescending(cd => cd.Timestamp).First();
}

每次调用时它还会在数据库中查找,但操作量要少得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架 - 从数据库刷新对象 的相关文章

随机推荐

  • Java中杀死进程的正确方法

    在 Java 中终止进程的最佳方法是什么 获取 PID 然后用以下命令杀死它Runtime exec Use destroyForcibly 这两种方法有什么区别 还有其他解决方案吗 如果您要终止的进程已由您的应用程序启动 那么你可能已经参
  • Tapestry5 无法将视频流传输到 iPad

    我想通过后端带有 Tapestry5 5 3 5 的 HTML5 视频标签将视频流式传输到我的 iPad 通常 服务器端框架甚至不应该在其中发挥作用 但不知何故它确实发挥了作用 无论如何 希望这里有人能帮助我 请记住 我的项目很大程度上是一
  • Kafka 连接:提供了配置 XXX,但不是 AdminClientConfig 中的已知配置

    启动 Kafka Connect 时 我看到很多警告 10 33 56 706 DistributedHerder WARN org apache kafka clients admin AdminClientConfig The conf
  • 如何使用 AngularJS 创建可排序的手风琴?

    I found 用户界面可排序 https github com angular ui ui sortable并使其能够很好地处理简单的列表等 我的应用程序已经使用了ui引导程序 http angular ui github io boot
  • 使用 AirPrint 打印 PDF 会导致输出较小

    我尝试打印 pdfUIPrintInteractionController它加载在UIWevView 好消息是我可以打印 坏消息是打印输出太小 any help would be appreciated IBACTION printPDF
  • 如何将对象传递给 numpy 点函数

    假设我已经定义了我的对象 import numpy as np class myTensor def init self data self data np array data self parent 如何将 myTensor 作为输入传
  • Sphinx Pygments 词法分析器过滤器扩展?

    我有一种类似 Lisp 的语言 我想在 Sphinx 代码片段文档中强调使用 Pygments 我的方法是扩展现有的 CommonLispLexer 以使用 NameHighlightFilter 添加内置名称 但是 它不起作用 所以我一定
  • cordova - 失败:不支持 q

    当我构建 cordova 时 此消息视图 不支持使用 requireCordovaModule 加载非cordova模块 q 相反 将此模块添加到您的依赖项中并使用常规 require 来加载它 如何解决这个问题 附言 我在这个构建问题之前
  • Android SDK 管理器无法下载新文件

    我试图获取最新的 android 源代码 5 0 只是为了看看它看起来如何 但是当我尝试从 Android SDK 下载源代码时 它给了我一个错误 说local找不到网址 这是日志 Fetching https dl ssl google
  • 如何拉取已安装应用程序名称、包名称和可绘制图标的列表

    我试图弄清楚如何将此代码实现到我现有的源代码中 目前 我有一些源显示所有已安装应用程序的列表视图 单击将向应用程序发送意图 我需要一些关于如何拉出图标并将其添加到列表视图中的支持 任何帮助 源代码编辑 链接等都可以帮助我解决这个问题 谢谢
  • 使用node.js child_process调用python脚本

    我试图从我的节点文件调用 python 代码 这是我的node js代码 var util require util var spawn require child process spawn var process spawn pytho
  • 使用 nth-child 选择多个子元素

    div div p nth child 1 to 5 如何使用第 n 个子元素选择多个数字 这样我就可以获取子元素 1 到 5 而无需编写 div div p nth child 1 div div p nth child 2 div di
  • Firebird数据库SYSDBA连接错误

    我刚刚安装了 Win64 版 Firebird 并且尝试连接到用 ISQL 预打包的员工数据库 按照Firebird官方的步骤进行操作快速入门指南 https www firebirdsql org file documentation h
  • 如何制作带有渐变的曲线形状?

    I have to create image like this using CSS 如果不可能 那么我如何以最小的图像尺寸使用它 就像下面的代码一样 我使用了两个图像 但这也不起作用 div style background url ht
  • C# 如何判断一段时间内没有键盘或鼠标输入

    我正在尝试编写一行代码来检查在一分钟内是否没有来自键盘和鼠标的输入以及鼠标位置是否没有变化 如果此条件为真 则触发事件 if no Keyboard input no mouse input no change in mousePositi
  • Hystrix 命令失败并显示“超时并且没有可用的后备”

    我注意到我的应用程序中的某些命令失败了 Caused by com netflix hystrix exception HystrixRuntimeException GetAPICommand timed out and no fallb
  • Google App Engine 奇怪的延迟

    我改进了很多代码 现在所有 API 都运行得非常快 我还添加了内存缓存 并且命中率很高 但有时我会遇到毫无意义的延误 我在这里附上了最重要的 appstats 屏幕截图 运行 90 毫秒的 RPC 总共花费了 20 多秒 这怎么可能 我应该
  • Ionic + Angular 无法默认检查 ion-radio

    我正在尝试从单选列表中的单选按钮中检查一个 但没有运气 有人可以告诉我我做错了什么吗 谢谢你的帮助 我尝试通过这种方式做到这一点 div class list div
  • 使用用户名和密码克隆 github 的私人存储库

    我已经在我的系统上使用全局配置配置了帐户 A 我可以从那里克隆我的所有存储库 现在我不想更改配置 我想用我的用户名和密码克隆并执行帐户 B 的所有操作 我怎样才能做到这一点 我努力了 git clone username email pro
  • 实体框架 - 从数据库刷新对象

    我在刷新数据库中的对象时遇到问题 我有两台电脑和两个应用程序 在第一台 PC 上 有一个应用程序与我的数据库通信并向测量表添加一些数据 在我的另一台 PC 上 有一个应用程序可以在计时器下检索最新的测量值 因此它也应该检索由我的第一台 PC