【发布时间】:2010-06-23 21:24:09
【问题描述】:
我在这里有点困惑,我希望你们中的一些大师能帮助填补空白。
我目前面临的情况是关于我的“用户”表和“OpenID”表。我的应用允许用户拥有多个 OpenID,因此我在单独的表中跟踪它们。
用户
身份证
用户名OpenID
身份证
用户ID
声明的标识符
我为每个表都有一个 CRUD 存储库,并且我还有一个与存储库接口的服务(每个存储库一个服务)。
我的问题是关于插入新用户(因为更新将遵循相同的原则)。以下是我脑海中的选项。
- 让 UserService 插入新用户,检索用户 ID,然后使用 UserID 插入新 OpenID
- 让 UserService 将新用户连同 ClaimedIdentifier 一起发送到 UserRepository,并让存储库同时插入 User 和 OpenID(这不太适合 CRUD 方法)
- 创建 User 表和 OpenID 表的视图,创建 UsersOpenIDRepository 和 UsersOpenIDService,然后插入到视图中。
任何超出我能想到的其他想法或建议将不胜感激。
请注意,我没有使用 NHibernate,因此我可以对我的域进行建模,但我认为合适。我在这个项目上坚持使用 Linq to SQL,
【问题讨论】:
标签: asp.net-mvc linq-to-sql repository-pattern crud service-layer