InValidOperationException: ChatMessage.UserName имеет свойство «объект» вместо «Строка». ⇐ C#
-
Anonymous
InValidOperationException: ChatMessage.UserName имеет свойство «объект» вместо «Строка».
InvalidOperationException: свойство 'object'
'ChatMessage.UserName' не может быть сопоставлено с типом базы данных
'nvarchar(max)', поскольку поставщик базы данных не поддерживает поддержка сопоставления свойств
'object' со столбцами 'nvarchar(max)'
Выше показано сообщение об ошибке, которое я получаю, как оно показано. на странице после попытки регистрации
Я пытался найти проблему, но не смог найти решения, поскольку сервер ищет nvarchar вместо объекта для хранения в качестве имени пользователя .
Я уверен, что способ приема входных данных верен, но если это не так, то в этом может быть проблема. Ниже показано, как я получаю данные от пользователя.
User Name
Это единственное поле, о котором я говорю, что оно должно быть строкой, которое есть в моем скрипте регистрации.
public string? UserName { get; set; } = string.Empty;
if (ModelState.IsValid)
{
var user = new User
{
UserName = Input.UserName,
Email = Input.Email,
PasswordHash = HashPassword(Input.Password)
};
_context.Users.Add(user);
Я знаю, что это немного, но если я смогу понять, в чем может быть проблема, это очень поможет
Я также есть эта часть, которая должна помочь сохранить информацию о пользователях при следующем входе в систему
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string PasswordHash { get; set; }
public DateTime CreatedAt { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... instead-of
InvalidOperationException: свойство 'object'
'ChatMessage.UserName' не может быть сопоставлено с типом базы данных
'nvarchar(max)', поскольку поставщик базы данных не поддерживает поддержка сопоставления свойств
'object' со столбцами 'nvarchar(max)'
Выше показано сообщение об ошибке, которое я получаю, как оно показано. на странице после попытки регистрации
Я пытался найти проблему, но не смог найти решения, поскольку сервер ищет nvarchar вместо объекта для хранения в качестве имени пользователя .
Я уверен, что способ приема входных данных верен, но если это не так, то в этом может быть проблема. Ниже показано, как я получаю данные от пользователя.
User Name
Это единственное поле, о котором я говорю, что оно должно быть строкой, которое есть в моем скрипте регистрации.
public string? UserName { get; set; } = string.Empty;
if (ModelState.IsValid)
{
var user = new User
{
UserName = Input.UserName,
Email = Input.Email,
PasswordHash = HashPassword(Input.Password)
};
_context.Users.Add(user);
Я знаю, что это немного, но если я смогу понять, в чем может быть проблема, это очень поможет
Я также есть эта часть, которая должна помочь сохранить информацию о пользователях при следующем входе в систему
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string PasswordHash { get; set; }
public DateTime CreatedAt { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... instead-of
Мобильная версия