我是dotnet核心,Entity Framework核心和PostgreSQL的初学者。我正在使用ConfigureServices方法与数据库建立连接,如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
string databaseConnection = "Server=localhost;Port=5432;Database=EF_Lesson Username=postgres password=123;Integrated Security=false;";
services.AddDbContext<EF_LessonContext>(
options => options.UseNpgsql(databaseConnection));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
下面是我的Controller类,如下所示:
[Route("ToLesson")]
[ApiController]
public class EF_LessonController : ControllerBase
{
private readonly EF_LessonContext _context;
public EF_LessonController(EF_LessonContext context)
{
_context = context;
if (_context.Webserverlogin.Count() == 0)
{
_context.Webserverlogin.Add(new Webserverlogin() { });
_context.SaveChanges();
}
}
[HttpGet]
public ActionResult<List<Webserverlogin>> GetAll()
{
return _context.Webserverlogin.ToList();
}
}
但是我在控制器类的构造函数Npgsql.NpgsqlException中遇到错误:'未提供密码,但后端需要一个密码(在MD5中)'
我已经搜索了2个小时,但在我的情况下没有任何效果。有人建议我只需要在已经使用过的一个地方使用连接即可。
反正请建议我摆脱这个错误。