Membership database seed project created with SQL Server Data Tools (SSDT) for building a custom ASP.NET Identity / Membership solution for a typical web application using Database First development approach
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

ASP.NET Identity / Membership Database

This is a seed project which you can use to create your custom ASP.NET Identity / Membership solution using Database First development approach.

ASP.NET Membership Database


How to deploy

Double-click on the .\Database\Publish Profiles\Local.publish.xml file in Solution Explorer which should open a publishing dialog shown below and click [Publish].

ASP.NET Membership Database Publish Dialog

Database naming conventions

The naming conventions in this project are the same used in the AdventureWorks sample database created by Microsoft database professionals and demonstrate many best practices in terms of style.

To summarize:

  • Object names are easily understood
  • Table names are not pluralized ("User" table not "Users")
  • Abbreviations are few, but allowed (i.e. Qty, Amt, etc.)
  • PascalCase used exclusively with the exception of certain column names (i.e. rowguid)
  • No underscores
  • Certain keywords are allowed (i.e. Name)
  • Stored procedures are prefaced with "usp"
  • Functions are prefaced with "ufn"
  • Constraints are prefixed with DF, FK, UK, IX based on their types
  • Constraints contain table's name as well as a list of columns used in the constraint (i.e. PK_User_UserID, UK_User_UserName, DF_User_CreatedDate)

Each rule has a good reasoning behind it. For example, why table names should be singular? Because this way there is less noise, such tables are easier to map to entity models using ORM tools, tables are more accurately sorted alphabetically in your IDE, table names describe the data type rather than how much data it contains, it's easier to come up with singular names, than with plural ones (with a few exceptions like News), easier to spell correctly (especially for a non-native English language programmer).

For more info visit AdventureWorks OLTP Database at MSDN

Learn more about SSDT


Brought to you by Konstantin Tarkus and is available under Apache License 2.0. Have questions? Email me at