1

我是 .NET 框架的新手,但在其他基于 MVC 的框架(如 Symfony 和 Zend 框架)方面拥有丰富的经验。

我有一个应用程序,要求研讨会参与者注册然后选择他们想参加的研讨会,所以我有 3 个模型,即 Workshop、Participant 和 Enrollment,它们基本上具有 WorkshopID 和 ParticipantID。

在他们注册并选择了他们想要的研讨会之后,我如何整合现有的会员资格,或者有没有其他方法可以将参与者 ID 记录到注册中?使用 Symfony 或 Zend 只需一分钟,但无法弄清楚如何为注册用户和他们的选择搭建脚手架

4

2 回答 2

1

如果您想将您的参与者与会员用户联系起来,最好的方法是在您的参与者表中添加一个 Guid 列 (userId) 并将其与aspnet_Users表上的主键链接。这样,您就可以将域参与者与 ASP.NET 用户联系起来。

于 2011-09-03T12:14:47.867 回答
-1

正如 Jakub 指出的那样,这是一个业务领域问题。看起来您并不希望围绕我最初假设的 Enrollments 建立脚手架授权。如果您是,那么您将查看 .NET RoleProvider

这与身份验证和 MembershipProvider 相关联,并提供了一个快速脚手架,可在注册时将用户分组为安全角色,如下所示:

Roles.AddUserToRole(User.Identity.Name, "Workshop");
Roles.RemoveUserFromRole(User.Identity.Name, "Workshop");

与 Sql Server 一起使用AspNetSqlRoleProvider,或多或少是开箱即用的,但有一些相关的配置和设置。

然而,对于业务领域,对于用户和注册之间的关联,您将使用唯一(或您自己的抽象)映射一对多MembershipUser.ProviderUserKey,并将注册保留在您自己的模式中。

实体框架可用于帮助使用代码优先从模型中快速构建数据库架构。

于 2011-09-03T11:47:50.770 回答