I used to prefer plural but have come to realize that in the global scheme of development and maintainance, singular is the way to go. Should a table of "store" entities be "store" or "stores"? In short, I feel the table name refers to the entity type that the table (as a set) holds in a collection. The subject raised itself again recently in the office after Microsoft’s Entity Framework makes some pretty odd decisions when converting from Plural to Singular form. Second, you can determine relationships easier with singular than plural names. WHERE activity.name = 'foo' AND activity.description = 'bar' Still, if you are concerned about writing the best-looking code that has proper English, then my advice would be to use plural names for the tables whereas, use a singular name for the corresponding entities. it just seems overkill. I thought this was considered bad practice, and that SQL table named should be singular - why this default? So, what do I believe? however you do it, do it consistently, so your engineers don't have to bounce back and forth between the db for table names / column names as the develop. Entity Framework - Plural and Singular Table names. Is it better to name SQL tables with singular or plural names? Tables are plural by definition. Since a database table already implies a set of data, naming it in the plural form (i.e. By default, the Entity Framework will assume that all of the names of your tables in your database are either pluralised, or in the case of code first, you would like them to be pluralised when created. Ex: /** * @Person * SELECT id, name, description FROM activities activity . Users vs. Posted by Colin Mackay 23 September, 2011 17 June, 2012 3 Comments on Singular Vs Plural table names A while ago I blogged about whether to make table names singular or plural . 13th Mar 2012. there is no reason to make the table name plural, with the row being singular (users.user_id) etc. GET /users/123 and POST /users See this one. Not as a … Programmers will always argue about singular vs. plural, and it is possible to make a valid case for both. - singular or plural table names - all lower case, mixed case or upper case table names - use underscores or avoid them (applies more to column names) - use the "tbl" prefix on tables or not (at least this one is easy) I've had discussions about them and thought about them, and in the end I changed my position on this topic (a few years ago). If your team has different conventions, or none at all, you can stop reading here. First, not to spark a religious debate, but a table is an entity, not a collection. In my opinion, the most important thing to do is pick one and stick to it. This is generally going to result in plural table names, as that is the appropriate name for the DbSet properties. SELECT * FROM user; See this question and discussion. Looking for a singular and plural irregular verbs chart? My strong preference is singular. It's a pretty established convention that database table names, in SQL at least, should be singular. I personally agree with the popular answers on this SO question: Table Naming Dilemma: Singular vs Plural Names. It's also a pretty established convention that RESTful API resource names should be plural. Read on to learn what makes verbs irregular in English and how to change them from third-person singular to plural. Table Naming Dilemma: Singular vs. Plural Names (20) As others have mentioned here, conventions should be a tool for adding to the ease of use and readability. Academia has it that table names should be the singular of the entity that they store attributes of. User) is redundant. The name is the table name; it is not the name of the tuples. The text was updated successfully, but these errors were encountered: