What is the meaning of the "Pluralize or singularize generated object names" setting?

user287745 picture user287745 · Feb 8, 2011 · Viewed 11.6k times · Source

When setting up a new Entity data Model, there is an option to

[x] Pluralize or singularize generated object names

I have noticed this is an option in LINQ as well. Also, now that I am studying the ADO.NET entity framework, I noticed it also has 'DEFAULT' to 'pluralize or singularize generated object names'

What is the result of not checking/allowing this option when setting up the 'Entity Data Model'.

What Advantages/Disadvantages/issues will I face by making a selection one way or the other?

Answer

yu yang Jian picture yu yang Jian · Aug 30, 2017

If you check Pluralize or singularize generated object names, the set in the class context.cs genrated by EF will be named in the format:

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

if not check, it'll be named:

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

Advantages/Disadvantages IMHO:

I would like to see collection set be named ending with 's', such as dbset colleciton of Employee class of Employee Table named Employees, so I'll check the option. But I guess maybe someone would like to treat the dbset as a table, so he/she would like to name it same as table name Employee.