我经常使用各种方式的提供者堆栈,并取得了巨大的成功。
我会用恭敬的观察,与sqlProvider的堆栈你的经验有限,阻力最小的路径,似乎你是拼接成aspnet_db继续。
抽象商栈提供恭维,相互以直观的方式进行交互......如果你花时间去了解它是如何工作清楚分开的功能集。
推而广之,虽然还不完善,SqlProviders提供该underly的asp.net运行时广泛的个性化和安全设施非常强大的后备存储。
您为理解这些设施的工作做出的更多努力,更少关注如何修改(读取:中断)现有模式,更多关注如何设想现有数据如何适应现有模式,更少的努力您最终将花费最终的资金,以最终获得一个您不必设计,编写,测试和维护的强大,易于理解的安全和个性化系统。
不要误会我的意思,我不是说不能自定义提供商。这是抽象工厂模式的全部要点。但是,在你将自己融入数据库/架构/关键基础架构系统之前,你应该更好地理解它。
一旦你达到那一点,你将开始看到,如果你专注于学习如何使开发时间成千上万个工时的系统以及每天每分钟为你工作的无数用户的生活变得简单您将在真正关心您和您的利益相关者的事情上完成更多的实际工作。
所以 - 建议您将用户导入到aspnet_db/sqlprovider堆栈中,并利用提供的工具。
aspnet_db中的userId是一个GUID,应该保持这种状态的原因有很多。如果您需要保留原始的整体用户标识符 - 将其存储在移动引脚字段中以供参考。
成员资格是您希望放置与安全和标识相关的信息的位置。用户名,密码等
配置文件是您想要放置像名称和站点首选项的元数据。
无论如何 - 我想说的是,在你破解它之前你需要更好地理解数据库和提供者。通过了解如何按照提供的方式使用它并开始您的体验将更加富有成效。
祝你好运。
@代码诗人 - 我感谢你的想法,但你仍然没有处理现实,我有10个表已经加入到我自己的用户表。我需要迁移策略 – leora 2010-05-23 10:06:08
@ooo - 发布您的模式,我会很乐意提供建议。可能有一个甜蜜点,两者可以有机连接。 – 2010-05-23 10:47:05
@code诗人 - 本质上我有上面的users表和其他10个表(我认为这些表的细节与问题无关),其中这些表都有一个user_id列,这个列是我现有用户表中的外键。我不确定是否有任何其他信息与辩论有关 – leora 2010-05-23 10:58:32