我遇到了一些麻煩,無法弄清楚為什么我的 sql 資料庫將第一個資料條目作為所有其他條目回傳。這是我從名為 HealthDataFuture 的表中獲取所有資料庫表條目的方法
[HttpPost]
public IActionResult AjaxMethod(string id)
{
List<object> chartData = new List<object>();
chartData.Add(new object[]
{
"Months", "SOFAS"
});
//FOR SOME REASON IT KEEPS READING THE FIRST DATABASE ENTRY ONLY SO THERE ALL THE ENTRIES ARE THE SAME VALUE
foreach (HealthDataFuture data in _db.HealthDataFuture)
{
if (data.id == id)
{
chartData.Add(new object[]
{
data.Month, data.Sofas
});
}
}
return Json(chartData);
}

這是我的資料庫表條目,當我查詢所有條目時,它會像所有其他條目一樣回傳第一個條目,它們具有相同的 ID,因為我想回傳所有這些條目然后繪制圖表

這是我不斷得到的結果

我也嘗試過這種獲取資料的方式,但這是同樣的問題
-------編輯 -----問題已解決原來我的MYSQL表模型沒有正確創建,因為沒有主鍵也沒有外鍵
uj5u.com熱心網友回復:
最好不要共享影像,而是使用正確標簽的代碼。使用代碼可以幫助其他用戶和所有社區,例如它使您的問題可搜索。
無論如何,您可以嘗試這樣做:
if (!string.IsNullOrEmpty(id)){
List<HealthDataFuture> DataList = _db.HealthDataFuture.Where(x => h.Id == id).ToList();
return View(id);
}
return RedirectToAction("Index");
我對您的代碼也有一些疑問:
- 它應該怎么做?
- DataList 就像來自 db 的選擇查詢,但沒有人使用 DataList。為什么?
您提供的詳細資訊越多,我們可以幫助您的資訊就越多。
評論后編輯:
如果你想從 db 中洗掉資料,你應該使用 saveChanges。例如,如果要洗掉 id 不是“1”的所有行,可以嘗試:
if (!string.IsNullOrEmpty(id)){
_db.HealthDataFuture.RemoveRange(_db.HealthDataFuture.Where(x => h.Id != id));
_db.SaveChanges();
return View(id);
}
return RedirectToAction("Index");
您還可以閱讀有關以異步方式訪問 DB 的內容,建議這樣做,并且性能更好:https ://docs.microsoft.com/it-it/ef/core/miscellaneous/async
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/450975.html
標籤:C# mysql asp.net-mvc 林克 asp.net-core-6.0
下一篇:FileNotFoundException:無法在IIS上加載檔案或程式集'Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer,Version=5
