none
可以手工修改aspnet_Users表吗?如果要给用户增加信息该怎么做? RRS feed

  • 问题

  • 我正在做一个类似淘宝的网站,每个用户可以开店。

    于是数据库里有一个表Shop,主键为id。每个用户最多开一家店,就是(如果修改aspnet_Users没有隐患的话)aspnet_Users里加一项可以为null的字段,如shop,作为连向Shop的外键。

    我知道可以用Profile Provider,我也正是用它保存用户的住址、电话之类的信息的。但我觉得用Profile保存shop id不是个好主意,因为我不能用SQL找出一家店的店主的名字。于是显示商店的页面上就不能用现成的数据控件,无需后台代码就完成功能了。

    那么我可不可以修改aspnet_Users表,加进shop字段,会出问题吗?

    还是我另建一个User表,放入shop字段,用外键连接到aspnet_Users?

    2012年3月14日 11:11

答案

  • 我正在做一个类似淘宝的网站,每个用户可以开店。

    于是数据库里有一个表Shop,主键为id。每个用户最多开一家店,就是(如果修改aspnet_Users没有隐患的话)aspnet_Users里加一项可以为null的字段,如shop,作为连向Shop的外键。

    我知道可以用Profile Provider,我也正是用它保存用户的住址、电话之类的信息的。但我觉得用Profile保存shop id不是个好主意,因为我不能用SQL找出一家店的店主的名字。于是显示商店的页面上就不能用现成的数据控件,无需后台代码就完成功能了。

    那么我可不可以修改aspnet_Users表,加进shop字段,会出问题吗?

    还是我另建一个User表,放入shop字段,用外键连接到aspnet_Users?

    你可以修改aspnet_Users表,增加字段(只要对原有字段没有做任何更改,包括删除或者是改写其类型)都可以。

    不过新增加的字段在原有方法中没有任何感知或者提示,建议你自己写方法去单独完成对这个字段的操作。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年3月16日 6:51

全部回复

  • 不一定要使用asp.net的membership,可以考虑自己建一个用户表。也方便以后的拓展。

    2012年3月16日 4:09
    版主
  • 我正在做一个类似淘宝的网站,每个用户可以开店。

    于是数据库里有一个表Shop,主键为id。每个用户最多开一家店,就是(如果修改aspnet_Users没有隐患的话)aspnet_Users里加一项可以为null的字段,如shop,作为连向Shop的外键。

    我知道可以用Profile Provider,我也正是用它保存用户的住址、电话之类的信息的。但我觉得用Profile保存shop id不是个好主意,因为我不能用SQL找出一家店的店主的名字。于是显示商店的页面上就不能用现成的数据控件,无需后台代码就完成功能了。

    那么我可不可以修改aspnet_Users表,加进shop字段,会出问题吗?

    还是我另建一个User表,放入shop字段,用外键连接到aspnet_Users?

    你可以修改aspnet_Users表,增加字段(只要对原有字段没有做任何更改,包括删除或者是改写其类型)都可以。

    不过新增加的字段在原有方法中没有任何感知或者提示,建议你自己写方法去单独完成对这个字段的操作。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年3月16日 6:51
  • 不一定要使用asp.net的membership,可以考虑自己建一个用户表。也方便以后的拓展。

    这样的话就不能利用asp.net的登录、创建用户控件了。还是说MyUsers和aspnet_Users共存?这样和话,比如新建一个用户,我还要同时创建MyUsers的条目。我听说asp.net登录、创建用户等控件只是和存储过程打交道,所以我觉得用存储过程来加入“业务逻辑”(即创建aspnet_Users条目时同时创建MyUsers条目)是最好的了。

    不过既然动用到了存储过程,我何不直接修改aspnet_Users了呢,在相关存储过程中添加对新加字段的处理? 所以我支持Wei_Dong的方案。

    2012年3月16日 16:01