我正在尝试构建一个简单的api,作为对项目未来api的测试。但我一直有这个错误
InvalidOperationException:无法解析“AspnetCore\u WebApi”类型的服务。模型。TarefaContext“正在尝试激活”AspnetCore\u WebApi。模型。TarefaRepositorio’。
这是TarefaContext。反恐精英
using Microsoft.EntityFrameworkCore;
namespace AspnetCore_WebApi.Models
{
public class TarefaContext : DbContext
{
public TarefaContext(DbContextOptions<TarefaContext> options)
: base(options)
{ }
public DbSet<TarefaItem> TarefaItens { get; set; }
}
}
TarefaRepositorio。反恐精英
using System.Collections.Generic;
using System.Linq;
namespace AspnetCore_WebApi.Models
{
public class TarefaRepositorio : ITarefaRepositorio
{
private readonly TarefaContext _context;
public TarefaRepositorio(TarefaContext context)
{
_context = context;
Add(new TarefaItem { Nome = "Item1" });
}
public IEnumerable<TarefaItem> GetAll()
{
return _context.TarefaItens.ToList();
}
public void Add(TarefaItem item)
{
_context.TarefaItens.Add(item);
_context.SaveChanges();
}
public TarefaItem Find(long key)
{
return _context.TarefaItens.FirstOrDefault(t => t.Chave == key);
}
public void Remove(long key)
{
var entity = _context.TarefaItens.First(t => t.Chave == key);
_context.TarefaItens.Remove(entity);
_context.SaveChanges();
}
public void Update(TarefaItem item)
{
_context.TarefaItens.Update(item);
_context.SaveChanges();
}
}
}
TarefaController。反恐精英
using System.Collections.Generic;
using AspnetCore_WebApi.Models;
using Microsoft.AspNetCore.Mvc;
namespace AspnetCore_WebApi.Controllers
{
[Route("api/[controller]")]
public class TarefaController : Controller
{
private readonly ITarefaRepositorio _tarefaRepositorio;
public TarefaController(ITarefaRepositorio tarefaRepositorio)
{
_tarefaRepositorio = tarefaRepositorio;
}
[HttpGet]
public IEnumerable<TarefaItem> GetAll()
{
return _tarefaRepositorio.GetAll();
}
[HttpGet("{id}", Name = "GetTarefa")]
public IActionResult GetById(long id)
{
var item = _tarefaRepositorio.Find(id);
if (item == null)
{
return NotFound();
}
return new ObjectResult(item);
}
[HttpPost]
public IActionResult Create([FromBody] TarefaItem item)
{
if (item == null)
{
return BadRequest();
}
_tarefaRepositorio.Add(item);
return CreatedAtRoute("GetTarefa", new { id = item.Chave }, item);
}
}
}
ITarefaRepositorio。反恐精英
using System.Collections.Generic;
namespace AspnetCore_WebApi.Models
{
public interface ITarefaRepositorio
{
void Add(TarefaItem item);
IEnumerable<TarefaItem> GetAll();
TarefaItem Find(long key);
void Remove(long key);
void Update(TarefaItem item);
}
}
正如Scott和Artis在https://stackoverflow.com/a/62643033/12934203中所说,我还没有将我的上下文类添加到startup.cs文件中。我对Artis提到的文章有一些问题,因为我正在使用EF Core InMemory,所以我不得不添加
services.AddDbContext<TarefaContext>(options => options.UseInMemoryDatabase());
到启动时的ConfigureServices。改为cs
services.AddDbContext<TarefaContext>(options => options.UseSqlite("Data Source=someDB.db"));
谢谢你们帮忙
错误消息描述依赖项注入无法解析TarefaContext类。您应该使用服务在启动的ConfigureServices方法中注册db上下文。AddDbContext方法。有关详细信息,请参阅Microsoft文档:https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext
我正在用ASP开发一个Web API。净核心。当我使用post请求执行API时,在UnitController的post方法的断点之前会引发异常。 例外 请求启动HTTP/1.1 POSThttp://localhost:5000/api/unit应用程序/json 31失败:Microsoft. AspNetCore. Server. Kestrel[13]连接ID"0HKVTL9A1LTD4"
我正在使用Client编写一个Eureka客户端应用程序。这是我的POM 如您所见,我使用的是spring boot版本
无法解析类型java.lang.Object。它从必需的.class文件中间接引用
我有以下错误,我无法开始这门课,我想请你帮我解决它。 错误: 系统InvalidOperationException:无法解析“IcarusOnlineAPI”类型的服务。服务。电子邮件试图激活“IcarusOnlineAPI”时发送电子邮件。控制器。授权。AuthController’。在微软。扩展。依赖注入。ActivatorUtilities。Microsoft lambda\u metho
我刚开始使用Android Studio一周,它对我来说非常好,但当我今天开始使用Android Studio时,我得到了一个错误:“错误:重复类:mypackage”。R’。我以前在使用Eclipse时看到过这个错误,所以我尝试过几次重建项目并重新启动Android Studio,但都没有帮助。 在阅读了一些Stackoverflow问题后,我尝试删除R.java并再次重建,现在我在重建时没有收