當我嘗試編輯我的帖子時會引發此錯誤。
這是我的代碼:
public async Task<IActionResult> Edit(string id)
{
if (id == null)
{
return NotFound();
}
// issue
var news = await _context.News.FindAsync(id);
if (news == null)
{
return NotFound();
}
return View(news);
}
除錯器將代碼停止在
var news = await _context.News.FindAsync(id);
我的模型的代碼是
public int id { get; set; }
[Required(ErrorMessage = "Enter your name.")]
public string Author { get; set; }
[Required(ErrorMessage = "Enter the title.")]
public string Title { get; set; }
[Required(ErrorMessage = "Enter the issued date.")]
[DataType(DataType.Date)]
public DateTime IssueDate { get; set; }
[Required(ErrorMessage = "Enter a message.")]
[DataType(DataType.MultilineText)]
public string Body { get; set; }
關于如何解決這個問題的任何想法?
uj5u.com熱心網友回復:
根據檔案:
FindAsync(物件[])
查找具有給定主鍵值的物體。如果背景關系正在跟蹤具有給定主鍵值的物體,則它會立即回傳而不向資料庫發出請求。否則,將向資料庫查詢具有給定主鍵值的物體,如果找到該物體,則將其附加到背景關系并回傳。如果沒有找到物體,則回傳 null。
因此,如果您的情況下的主鍵具有int型別,則FindAsync()引數應該是相同的型別int。
uj5u.com熱心網友回復:
最可靠的方法是
var _id=Convert.ToInt32(id);
var news = await _context.News.FirstOrDefaultAsync(i=>i.id==_id);
但也許改變一個動作會更好?
public async Task<IActionResult> Edit(int? id)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435701.html
標籤:C# 实体框架 asp.net 核心 实体框架核心 asp.net-core-mvc
上一篇:使用EntityFramework4.6.1的.Net4.6.1應用程式使用ToList()引發Null例外。X.ToList中的物件X不為空
