Я создал тестовый проект, в котором я играю с .NET Core 2.2 и Identity Framework 2.0.
Я успешно создал проект и настроил некоторые поля, чтобы понять, как анализируются данные от View
до Controller
и Stores
.
Я рассматривал возможность настройки базы данных, чтобы пользователь также содержал ReferralID
для проверки некоторых вещей, это ReferralID
является целым числом.
Что я сделал, так это расширил IdentityUser
этим настраиваемым свойством и создал собственную версию для каждого параметра удостоверения.
public class ApplicationUsers : IdentityUser
{
public int? ReferralID { get; set; } = null;
}
Я также добавил базу данных в таблицы, которые были сгенерированы, но теперь приложение выдает ошибку:
Свойство CLR «ReferralID» не может быть добавлено к типу сущности «IdentityUser», поскольку оно объявлено для типа CLR «ApplicationUsers».
К сожалению, я не смог найти/понять, что не так, кажется, что-то не так в ModelBuilder, я не трогал конструктор моделей, и он был автоматически сгенерирован с помощью скаффолдера Scaffold-DbContext "Data Source=(localdb)\mssqllocaldb;Initial Catalog=CoreTest;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -Context GolfScoresContext -OutputDir Models -DataAnnotations -Project WebApi -Force
Какой шаг я пропустил? Или я не могу добавить пользовательские свойства в IdentityUser? Я видел, как люди боролись с этим и добавляли [NotMapped]
к ApplicationUsers
, но я думаю, что моя собственность не будет сохранена.