Что означает настройка «Плюрализовать или сингулярно генерируемые имена объектов»? - PullRequest
14 голосов
/ 08 февраля 2011

При настройке новой модели данных сущностей, есть опция

[x] Плюрализация или сингулярность сгенерированных имен объектов

Я заметил, что этоопция в LINQ, а также.Кроме того, теперь, когда я изучаю инфраструктуру сущностей ADO.NET, я заметил, что в ней также есть «ПО УМОЛЧАНИЮ» для «множественного или сингулярного создания сгенерированных имен объектов»

Что является результатом отсутствия проверки / разрешения этой опции при установкевверх по «Модели данных сущностей».

С какими преимуществами / недостатками / проблемами я столкнусь, сделав выбор тем или иным способом?

Ответы [ 2 ]

9 голосов
/ 08 февраля 2011

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

7 голосов
/ 30 августа 2017

Если вы отметите Pluralize or singularize generated object names, набор в классе context.cs, генерируемый EF, будет назван в формате:

public virtual DbSet<SomeTableName> SomeTableNames { get; set; }

, если не проверить, он будет назван:

public virtual DbSet<SomeTableName> SomeTableName { get; set; }

Достоинства / Недостатки ИМХО:

Я бы хотел, чтобы набор коллекций имел имя, оканчивающееся на 's', например, dbset colleciton из Employee class из Employee Table с именем Employees, поэтому я проверю эту опцию. Но я думаю, что, может быть, кто-то хотел бы рассматривать dbset как таблицу, поэтому он / она хотел бы назвать его так же, как имя таблицы Employee.

...