Entity Framework - отсутствует аннотация данных [Keyless] - PullRequest
2 голосов
/ 23 апреля 2020

Согласно документации Microsoft Здесь , у меня должен быть доступ к атрибуту для [Keyless], чтобы я мог определить, что в моей модели есть Keyless, чтобы в моем DBContext я мог иметь что-то вроде:

public DbSet<MyKeylessClass> KeylessModel { get; set; }

И используйте _context.KeylessModel.FromSqlRaw(...), без необходимости добавлять к нему PK. У меня есть ссылка на System.ComponentModel.DataAnnotations и все атрибуты, кроме Keyless, есть, что я здесь пропускаю?

Ответы [ 2 ]

3 голосов
/ 24 апреля 2020

Возможно, вы пропустили следующую часть Note в самом начале связанной документации. Topi c

Аннотация данных [Keyless] стала доступна в EFCore 5.0.

"стало"? "в EFCore 5.0"? Да ладно, сейчас EFCore 5.0 нет.

В любом случае, похоже, что они активно документируют будущие вещи, поэтому просто имейте это в виду, когда что-то отсутствует или отличается от задокументированного.

2 голосов
/ 24 апреля 2020

Что ж, в официальной документации по выпуску EF Core 3.0 пока нет ни слова о поддержке этого атрибута, вместо этого для безключевых типов они рекомендуют использовать HasNoKey () метод:

ModelBuilder.Entity<MyKeylessClass>().HasNoKey()

Вы можете прочитать больше здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...