Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
49 个问题
我使用模板在 Visual Studio 2022 中生成一个控制器 使用实体框架添加具有操作的 API 控制器> 助手生成
public class CitiesController : Controller
{
private readonly ApplicationDbContext _context;
public CitiesController(ApplicationDbContext context)
{
_context = context;
}
// GET: Cities
public async Task<IActionResult> Index()
{
//return (IActionResult)await _context.Cities.ToListAsync();
var applicationDbContext = _context.Cities.Include(c => c.Country);
return View(await applicationDbContext.ToListAsync());
}
我不得不补充
[Route("api/[controller]/[action]")]
[ApiController]
以便我的 HTTP 请求到达操作 Index() 程序停止
我在那行上放了一个断点 和 applicationDbContext 包含从数据库提取所需的数据。
此代码已由模板生成 我错过了什么 任何想法如何使它工作
Note:此问题总结整理于:Entity framework core V7.0.5 problem with generated code produce Invalid Opeeration Exception
我重现了错误,它与EFCore无关:
我认为你已经混合了 WebApi 应用程序和 MVC 应用程序,如果你想重新运行 ViewResult,你应该尝试使用 MVC 应用程序return View()
如果你只想在Webapi项目中添加一个脚手架api控制器,请尝试以下选项:
并且错误表明缺少 MVC parttern 所需的服务,如果您坚持将 webapi 与 mvc 混合,则必须在 Program.cs 中调用注册所需的服务builder.Services.AddControllersWithViews();
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。