Почему я не могу использовать DataAnnotations KeyAttribute для составных ключей? - PullRequest
0 голосов
/ 29 марта 2019

EntityFramework Core ограничивает использование KeyAttribute для определения составных ключей.Но какова причина этого ограничения?Я нашел решение для этого без использования Fluent api.

1 Ответ

1 голос
/ 29 марта 2019

В соответствии с этим GitHub Issue он находится в отставании, которое будет реализовано в следующей версии EF Core. И из этого GitHub Issue вот объяснение, которое вы искали:

Причина в том, что он использовал комбинацию Key и Column для упорядочения, но упорядочение по столбцам - это не то же самое, что упорядочение по ключам, и поэтому это вызвало путаницу и проблемы в EF6. Изменение существующих аннотаций данных также является дорогостоящим из-за их связи с .NET Core и .NET Framework.

Однако мы видим ценность в возможности использовать эту и другие общие конфигурации с использованием атрибутов, поскольку переход к свободному API может быть большим. Поэтому мы рассмотрим создание новой библиотеки / пакета с дополнительными новыми атрибутами конфигурации EF, которые можно использовать вместе с аннотациями данных. Это будет одна из вещей, которая будет реализована там.

Однако, Согласно этому объявлению , из ASP.NET Core 3.0 вы можете использовать все функции EF 6.x с ASP.NET Core, так как будет EF 6.3 в .NET Core> = 3,0

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