This project is read-only.
SQL Database project template, Entity Framework Database-First providers and code samples for ASP.NET Identity 2.0. Use it for developing a custom membership solution based on ASP.NET Identity and utilizing Database First development approach.

ASP.NET Identity Database

Introduction to ASP.NET Identity

Getting started with ASP.NET Identity and EF Database-First



How to deploy

Double-click on the .\Database\Publish Profiles\Local.publish.xml file in the 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


Konstantin Tarkus (@koistya), KriaSoft.


The source code is licensed under the Apache License 2.0. Refer to LICENSE.txt for more information.

Last edited Apr 14, 2014 at 6:57 AM by koistya, version 24