Npgsql.NpgsqlException:“未提供密码”

Man*_*ain 2 c# postgresql entity-framework-core .net-core

我是 dotnet core、Entity Framework core 和 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);
    }
Run Code Online (Sandbox Code Playgroud)

下面是我的控制器类如下:

[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();
    }
}
Run Code Online (Sandbox Code Playgroud)

但我在控制器类的构造函数中收到错误 Npgsql.NpgsqlException: '未提供密码,但后端需要一个(MD5 格式)'

我已经搜索了 2 个小时,但对我的情况没有任何作用。有人建议我只需要在一个地方使用连接,而我已经这样做了。

无论如何请建议我摆脱这个错误。

小智 7

您在连接字符串中缺少登录名和密码之间的分号。请看例子