Click here to Skip to main content
11,922,641 members (59,564 online)
Click here to Skip to main content
Add your own
alternative version


73 bookmarked

Custom membership provider for the ADO.NET Entity Framework

, 3 Jan 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
Custom membership provider implementation for the ADO.NET Entity Framework.


Note: This article has been superseded by the following code project article. 

This article describes the implementation of a custom membership provider for the ADO.NET entity framework. The code presented in this article fully complies with Microsoft's provider model design pattern. It also leverages the LINQ to Entities feature introduced with framework 3.5.


It is required to have a basic understanding of the ADO.NET Entity Framework and the ASP.NET membership provider model in order to successfully integrate the presented solution.

Using the code

To configure the attached sample, the following steps have to be taken into account:

  1. Create a database (e.g., EFDataModel).
  2. Run the CreateUserTable.sql script located in the DatabaseScripts solution folder.
  3. Modify the connection string for the Entity Framework in the App.config file of the SmartSoft.EFMembershipProvider.DataLayer project.
  4. Modify connection string for the Entity Framework in the Web.config file of the Web application.

If you want to integrate the custom membership provider into your existing application, you might have to replace the object context EFDataModelEntities within the membership provider class according to your entity model.

Depending on your data model, the method DeleteUser within the membership provider class has to be extended from line 698 onwards in order to delete/mark all user related data.


  • 29/10/2008 - Initial article posted.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Michael Ulmann
Architect Swissworx
Australia Australia
MCAD, MCPD Web Developer 2.0, MCPD Enterprise Developer 3.5

My company: Swissworx
My blog: Sitecore Experts

Hopp Schwiiz Smile | :)

You may also be interested in...

Comments and Discussions

Generalfor dotnet2.0 not linq Pin
hungud9-Nov-08 21:05
memberhungud9-Nov-08 21:05 
AnswerRe: for dotnet2.0 not linq Pin
Michael Ulmann9-Nov-08 23:54
memberMichael Ulmann9-Nov-08 23:54 
RantRe: for dotnet2.0 not linq Pin
hungud10-Nov-08 0:44
memberhungud10-Nov-08 0:44 
GeneralRe: for dotnet2.0 not linq Pin
AlexRiley14-Feb-09 9:25
memberAlexRiley14-Feb-09 9:25 
GeneralRe: for dotnet2.0 not linq Pin
Michael Ulmann15-Feb-09 12:31
memberMichael Ulmann15-Feb-09 12:31 
GeneralMissing providers Pin
Roger Jakobsson3-Nov-08 12:10
memberRoger Jakobsson3-Nov-08 12:10 
AnswerRe: Missing providers Pin
Michael Ulmann5-Nov-08 22:54
memberMichael Ulmann5-Nov-08 22:54 
GeneralJust another code dump... Pin
Dave Kreskowiak29-Oct-08 13:53
mvpDave Kreskowiak29-Oct-08 13:53 
GeneralRe: Just another code dump... Pin
Michael Ulmann29-Oct-08 14:45
memberMichael Ulmann29-Oct-08 14:45 
I understand your objection. However, the membership provider functionality is elaborately described in the MSDN. I did not want to rewrite a documentation about that, thus the requirements to understand the membership provider model. Same applies for the ADO.NET Entity Framework, the MSDN is the right place to learn about it for newbies.

The published solution is meant as reusable component and does exactly the same as the SqlMembershipProvider but it utilize SQL to Entities rather than SQL statements.

I don't see what there might be to decipher for anyone?

From my understanding Codeproject is meant to be a platform to exchange solutions rather than a mirror of the MSDN.

GeneralRe: Just another code dump... Pin
Dave Kreskowiak30-Oct-08 16:41
mvpDave Kreskowiak30-Oct-08 16:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.151125.1 | Last Updated 3 Jan 2013
Article Copyright 2008 by Michael Ulmann
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid