Custom Membership in ASP.NET MVC 2
- by Interfector
Hello,
I'm trying to make my Custom Membership starting from ASP.NET's.
I have a users table created by me which has as Primary Key a Guid UserId, exactly the sames as ASP.NET's default user and membership table. I have all the Foreign Key relationships built. However, I cannot insert the user into my custom users table. The data gets inserted correctly into the default ASP.NET's tables.
I have tried the following scenarios:
First version
Receive the user model from POST
call the CreateUser method of the Membership.class (stuff gets inserted)
without modifying the user object, I try to insert it using EF's AddObject
I receive the following error:
"Cannot insert the value NULL into column 'LoweredUserName', table 'asp.dbo.aspnet_Users'; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated."} System.Exception {System.Data.SqlClient.SqlException
The error actually makes sense as EF's AddObject doesn't know how to create the LoweredUserName value, and I don't want to do it, this is ASP.NET's job.
Second version
Receive the user model from POST
call the CreateUser method of the Membership.class (stuff gets inserted)
Get the Guid of the freshly inserted system user
get the ASP.NET's User object and overwrite that of user.User
get the ASP.NET's Membership object and overwrite that of user.Membership (remember the FKs)
try again EF's AddObject
new error
{"The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects."} System.Exception {System.InvalidOperationException}
Don't know what this is, but it certenly doesn't make any sense for me.
After some googleing I think that it has something to do with the context, but as I'm a beginner I don't know how to fix it.
Any ideeas on how to accomplish this task are more than welcomed, especially if they follow some good practices.
Thx