gpt4 book ai didi

c# - Entity Framework 不显示数据库的最后更改

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:27 24 4
gpt4 key购买 nike

Entity Framework 不显示数据库中的最后更改,但一段时间后它会显示更新的内容。我在服务器或页面上没有任何特殊缓存。预先感谢。 jack 这是我用来获取列表的代码,有问题:

var m =
from relation in ett.Article_Relations
from article in ett.Article_Articles
from content in ett.Article_Contents
where relation.MenuItemID == id
where relation.Article_Articles.ArticleID == article.ArticleID
where content.LanguageID == LanguageID
where article.ArticleID == content.Article_Articles.ArticleID
select new ArticleViewModel
{
ArticleID = article.ArticleID,
IsActive = article.IsActive,
Author = article.ArticleAuthor,
Content = content,
DateCreated = article.DateCreated
};

最佳答案

您显示的查询没有任何问题,因此我预计您使用 ObjectContext 的时间比预期的要长。您是否在 ASP.NET 缓存或 session 中缓存对象上下文?如果是这样,您应该为每个请求至少创建一次 ObjectContext。绝不会少。

问题是 Entity Framework ObjectContext 是一个 unit of work .它在其生命周期内缓存对象。这意味着当您在数据库中查询已在缓存中的对象时,EF 将从数据库中检索该值(大部分时间),但会丢弃结果并返回缓存的对象。这可以解释为什么您看不到更新。

关于c# - Entity Framework 不显示数据库的最后更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764407/

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