У меня есть база данных SQL с представлением ServersAndServices
.
Я добавил это в свою модель данных:
public class ServersAndServices
{
public string ServerName { get; set; }
public string ServiceName { get; set; }
public string ServiceDisp { get; set; }
public string RoleDesc { get; set; }
public string AppName { get; set; }
public string AppDesc { get; set; }
public string Active { get; set; }
}
А это мой DbContext
:
public class ServersAndServicesContext : DbContext
{
public ServersAndServicesContext(DbContextOptions<ServersAndServicesContext> options)
: base(options)
{
}
public DbSet<ServersAndServices> ServersAndServices { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ServersAndServices>(eb =>
{
eb.HasNoKey();
eb.ToView("ServersAndServices");
});
}
}
Когда мне нужно добавить контроллер (контроллер API с действиями с использованием Entity Framework Core), я получаю эту ошибку:
Попытка выяснить метаданные EntityFramework для модели и DbContext: «ServersAndServices»
Первичный ключ не найден.
Я попытался сделать это также с атрибутом [Keyless]
перед классом ServersAndServices
, но результат тот же.
Пытаюсь понять, что я здесь делаю неправильно, поскольку вся документация, которую я видел, подсказывает, что это правильный способ справиться с этой проблемой. Спасибо.