When using ASP.Net Membership plus an additional table to store user Information, should I link other tables to aspnet_Users or my own Table?
Asked Answered
T

3

8

I'm using ASP.Net membership to secure my site and I have a question about how to store extra user information. By googling and reading other questions I think the 3 accepted approaches to storing additional data

  1. Profile framework - generally regarded as too restricting
  2. Custom Profile provider - a little bigger than I want to attempt at the moment
  3. Using another table with user information - the choice I'm following

I've created a new table in addition to the ASP.Net membership tables named User_Information that has a one-to-one foreign key to aspnet_Users. When I create a new table to store information linked to a user (e.g. comments, votes, etc) should I set the foreign key to point to aspnet_User or my User_information table?

thanks

Tristich answered 21/12, 2009 at 4:52 Comment(0)
B
2

It depends on the nature of your queries.

The Membership provider will give you easy access to the user ID column from the aspnet_Users table. It will take an extra query to get the ID from your table.

However, if most of your queries require joining your User_Information table anyway, then it may not really matter.

Backbend answered 21/12, 2009 at 4:59 Comment(0)
D
2

I use the same way as you did. I have a weak-reference without any physical relationship between those two tables. It works perfectly fine for me. To manage dependencies you can wrap the database operations within a transactions for both the tables.

I recommend not to create any foreign key and continue with this design.

Dottydoty answered 21/12, 2009 at 5:51 Comment(0)
B
0

I pick aspnet_User table. It is, after all, considered to be the "primary" table for user info, no?

Bathulda answered 21/12, 2009 at 4:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.