Npgsql.NpgsqlException: «Пароль не предоставлен - PullRequest
0 голосов
/ 13 декабря 2018

Я новичок в ядре 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);
    }

Ниже мой класс контроллера выглядит следующим образом:

[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 часа, и в моем случае ничего не работает.Кто-то предложил мне использовать соединение только в одном месте, которое я уже делал.

Пожалуйста, все равно предложите мне избавиться от этой ошибки.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы пропустили точку с запятой между логином и паролем в строке подключения.Пожалуйста, смотрите пример

...