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?

走远了吗. 提交于 2019-12-08 17:00:47

问题


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


回答1:


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.




回答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.




回答3:


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



来源:https://stackoverflow.com/questions/1938266/when-using-asp-net-membership-plus-an-additional-table-to-store-user-information

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!