дотнет ядро ​​2.0 плюрализует когда леса? - PullRequest
0 голосов
/ 08 июня 2018

Установка моей библиотеки классов .net core 2.x с ef core 2. Сгенерировал каркас для сущностей из моей схемы БД.Тем не менее, я забыл даже проверить, есть ли возможность множественного числа имен объектов.Я заметил это, когда вытащил один из моих методов из библиотеки классов, которая использует EF 6.1, а сущности являются множественными.Есть ли вариант для этого и просто восстановить мои сущности как множественные?

1 Ответ

0 голосов
/ 17 октября 2018
  1. Напишите класс, который реализует интерфейс Microsoft.EntityFrameworkCore.Design.IPluralizer.Вы можете написать свой собственный или использовать пакет NuGet, такой как Inflector

    public class Pluralizer : IPluralizer
    {
        public string Pluralize(string name)
        {
            return Inflector.Inflector.Pluralize(name) ?? name;
        }
    
        public string Singularize(string name)
        {
            return Inflector.Inflector.Singularize(name) ?? name;
        }
    }
    
  2. Написать класс, который реализует интерфейс Microsoft.EntityFrameworkCore.Design.IDesignTimeServices, чтобы зарегистрировать вашу реализацию IPluralizer в вашемфреймворк Entity Project.

    public class DesignTimeServices : IDesignTimeServices
    {
        public void ConfigureDesignTimeServices(IServiceCollection services)
        {
            services.AddSingleton<IPluralizer, Pluralizer>();
        }
    }
    
  3. Запустите (или перезапустите) вашу команду Scaffold-DbContext из консоли диспетчера пакетов, как обычно.Если вы хотите, чтобы он перезаписывал ранее сгенерированный код, вам нужна опция -force.

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