Значение не может быть нулевым. (Параметр «ключ») в ASP.NET Core 3..0 - PullRequest
0 голосов
/ 29 сентября 2019

Мне нужно создать базу данных с первым кодом в ASP.NET Core 3.0

Это DbContext:

public class TrelloContext : DbContext
{
    public TrelloContext(DbContextOptions options) : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.AddDbSet<IEntity>(typeof(IEntity).Assembly);
        modelBuilder.ApplyConfigurationsFromAssembly(typeof(IType).Assembly);
    }
}

, и это запуск:

public void ConfigureServices(IServiceCollection services)
{
        services.AddControllers().AddControllersAsServices();
        services.AddDbContext<TrelloContext>(options => options.UseSqlServer(Configuration.GetConnectionString("SqlServer")));
        services.Injection();
}

Это моя строка подключения:

"ConnectionStrings": {
    "SqlServer": "Data Source=.;Initial Catalog=TrelloDB;Trusted_Connection=True;Trusted_Connection=True;"
}

Когда я использую это add-migration initial, я получаю эту ошибку:

Значение не может быть нулевым. (Параметр «ключ»)

В чем проблема? Как я могу решить это?

1 Ответ

1 голос
/ 30 сентября 2019

Это произошло из-за того, что у одной из ваших сущностей (унаследованных от интерфейса: IEntity) нет столбца идентификаторов.

Пожалуйста, проверьте все свои субъекты. Убедитесь, что у всех есть ID или свойство, помеченное как [Key].

public class MyEntity : IEntity
{
    // make sure:
    public int Id { get; set; }
    // or:
    [Key]
    public int SomeProperty { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...