操作无法完成,因为DbContext已被异常处理
本文关键字:DbContext 异常处理 因为 操作 | 更新日期: 2023-09-27 18:12:52
我试图添加一个模型实例填充值数据库,但它显示我的错误
"操作无法完成,因为DbContext已被处置。"
我的代码
private async void timerHandlerFixerIO(object sender, EventArgs e)
{
string html = string.Empty;
string url = @"http://api.fixer.io/latest";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.AutomaticDecompression = DecompressionMethods.GZip;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
html = reader.ReadToEnd();
}
Debug.WriteLine(html);
FixerIO FixerIOInstance = new FixerIO();
FixerIOInstance.rates = new rates();
FixerIOInstance = JsonConvert.DeserializeObject<FixerIO>(html);
db.FixerIOs.Add(FixerIOInstance);
await db.SaveChangesAsync();
}
执行此行时出现错误异常
db.FixerIOs.Add(FixerIOInstance);
和timerHandlerFixerIO
方法外的DbContext
声明,如
private ApplicationDbContext db = new ApplicationDbContext();
可以这样使用DbContext
using(var db = new ApplicationDbContext())
{
db.FixerIOs.Add(FixerIOInstance);
await db.SaveChangesAsync();
}