gpt4 book ai didi

entity-framework - 带有 SQL 服务代理的 Entity Framework

转载 作者:行者123 更新时间:2023-12-04 05:46:17 25 4
gpt4 key购买 nike

我想知道如何/是否可以在 EF4.x 或 EF5 中使用 SQL Service Broker?

设想:
说,我有一个产品列表,我不想每次客户访问页面时都从数据库加载它。当然我可以缓存页面,但是如果产品经理添加了一个新产品,它不会立即显示,直到缓存过期或查询参数更改。

解决方案:
在 SQL 中,我们可以 Enable_Broker 并在 web 应用程序中启动链接 SqlDependency。 SQL 将向我们的 Web 应用程序发送通知。因此,我们有一个智能的“缓存”系统。
如果我们可以使用智能缓存,那一切就都有意义了。当有 1,000 个客户单击该页面时,我们不需要访问 SQL 数据库 1,000 次。但是一旦db发生变化,当时访问该页面的第一个客户就会看到反射。我们两全其美。

问题:
Entity Framework 没有公开这种能力。还是我不知道?从 SQL 2005 和 ASP.NET 2.0 开始就已经具备了这种能力。 EF 4/5 不会错过这个重要功能,对吧?我需要一些专家来帮助我解决这个问题。

我碰巧从这个链接中找到了一个黑客:

http://www.codeproject.com/Articles/233770/AutoRefresh-Entity-Framework-data-using-SQL-Server

然而,它或多或少是一种“未记录的魔法”方式,并且有一些未知的限制(该页面的限制链接已被删除,所以我不知道它们是什么)。所以,它对我来说不够可靠,如果在一个新的 EF 补丁后它突然不起作用,我不会感到惊讶。有没有更“官方”的方法来做到这一点?谢谢!

最佳答案

LinqToCache ,它可以通过任意 LINQ 查询的 SqlDependency 进行缓存。说到EF,归结起来就是EF创建的SQL查询是否符合Query Notifications的限制。上次我检查 EF 是在请求​​中无缘无故地添加一个子查询,从而使查询不可通知。我听说最新的 EF 更好,它可能有效,但我自己还没有测试过。

关于entity-framework - 带有 SQL 服务代理的 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com