簡體   English   中英

實體框架返回具有可處理上下文的舊數據

[英]Entity Framework returning old data with disposable context

這是我第一次看到此問題。

考慮我的存儲庫方法:

public async Task<List<Code>> GetAllByType(string type)
{
    using (var ctx = new DatabaseContext())
    {
        return await ctx.Codes.Where(code => code.Type.Equals(type)).ToListAsync();
    }
}

這是我嘗試為根據上述方法的結果創建的視圖創建可觀察的集合時偶然發現的問題。 因此:

Types = new ObservableCollection<Code>(await CodeRepository.GetAllByType("TestType"));

即使我使用的是一次性上下文,每次執行查詢時,存儲庫都會返回舊數據。 我已經用"TestType"作為列值手動編輯了一些條目,它仍然是未更改的舊數據。 我添加了3個新條目, 但未找到

是的, 我的數據庫中確實有條目 數據庫是不區分大小寫的,無論如何我都嘗試了所有組合-實體框架上下文仍在返回舊數據。

有人以前有這個問題嗎?

提前致謝!

您可能在編輯錯誤的數據庫。 請仔細檢查您的連接字符串,並確保您正在編輯應用程序實際連接到的字符串。

這不是您的情況,但是如果將Context聲明為靜態屬性,則EF可以返回舊數據。 例如 :

public MyController : Controller {
    public static DatabaseContext Db = new DatabaseContext();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM