在 asp.net 4 中设计一个新应用程序 我必须决定如何使用 MS SQL Membership API 以及我自己在 MS SQL 数据库中的数据。首先,我需要以比 Profile 提供者支持的更灵活的方式存储和访问用户配置文件数据。其次,我想链接其他用户相关信息(例如订单)。
无论您将 aspnetdb 表存储在何处(在单独的数据库中或与您的数据在同一个数据库中),问题都在于如何保持数据同步。
经过研究,我看到以下相关选项:
1. 来自 asp_Users 的外键 UserId(本教程中建议)。
2. 无外键使用交易(这里推荐)。
3.无外键——使用自定义的AccountController(不管是什么,这里建议)。
4. 将 Membership UserId (uid) 与自定义 UserId (int) 链接的附加表。
5. ...
一方面,我喜欢第一个解决方案,因为它非常简单,并且在官方的 asp.net 教程中有所建议。
另一方面,反对者相当合理地指出,使用外键打破了提供者的一般概念,提供者应该有助于分离关注点并可以互换。但不幸的是,他们并没有过多地讨论实施细节,因此很难根据相关性和实施的难易程度来评估这些建议。
那么解决这个问题的最佳选择是什么?此外,实施情况如何?仅使用额外的 ADO.NET 或 LINQ 等代码就足够了吗,还是值得实现自定义成员资格和/或配置文件提供程序?
先感谢您。