Код: Выделить всё
CREATE TABLE [dbo].[Accounts]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[AccountEmail] NVARCHAR (100) NOT NULL UNIQUE,
[HashedPassword] NVARCHAR (200) NOT NULL,
[DateOfBirth] DATETIMEOFFSET NOT NULL,
[RegisterDate] DATETIMEOFFSET NOT NULL,
CONSTRAINT [PK_Accounts] PRIMARY KEY CLUSTERED ([Id] ASC)
);
GO
Код: Выделить всё
public class Account : BaseModel
{
public required string AccountEmail { get; set; }
public required string HashedPassword { get; set; }
public DateTimeOffset DateOfBirth { get; set; }
public DateTimeOffset RegisterDate { get; set; }
public User? User { get; set; }
}
Неверный столбец имя 'AccountEmail'
Вот код для создания учетной записи:
Код: Выделить всё
public async Task Register(RegisterRequest request)
{
if (await _dbContext.Accounts.AnyAsync(x => x.AccountEmail == request.Email.ToLower()))
// error appears here
throw new Exception("This e-mail address is already taken!");
var user = new User
{
Username = request.Username
};
var account = new Account
{
AccountEmail = request.Email,
HashedPassword = _passwordManager.HashPassword(request.Password),
DateOfBirth = request.DateOfBirth,
RegisterDate = DateTime.UtcNow,
User = user
};
user.Account = account;
_dbContext.Accounts.Add(account);
await _dbContext.SaveChangesAsync();
return new AccountResponse
{
Email = account.AccountEmail,
Username = user.Username,
Token = _tokenService.GenerateAccountToken(account.Id)
};
}
Что может быть причиной этой ошибки и как ее исправить?
Подробнее здесь: https://stackoverflow.com/questions/785 ... ework-core