【发布时间】:2010-11-18 05:41:39
【问题描述】:
我有一个 MVC 2 项目,我最近将自动生成的成员资格/角色数据库与我的主数据库整合在一起。我有一个从主数据库生成的 EF4 模型,它包含一个名为 Books 的表。现在我已经合并了这两者,我设置了 Books 和 aspnet_Users 之间的关系,以便我可以看到每个用户的书籍。
问题是我想更新我的 EF4 模型以使其代表这种关系,但我想保留所有生成的会员代码。
有没有办法做到这一点?
【问题讨论】:
-
我已经说过了,我会再说一遍 - 不要映射成员表。使用内置的提供者 api。
-
如果您看过 Rob Conery 的 MVC 店面,他就是这样做的 - 将他的数据与会员模式中的用户数据拼接起来。除了编写您自己的会员提供商之外,别无他法。有兴趣看看其他人怎么说。
-
@Wesley,在
aspnet_Users和 'Books` 之间定义 FK 约束是另一种映射成员表的方式,即使您没有将其放入您的 EF 模型中。如果您更改为 OpenID 会发生什么?还是 Facebook/Twitter 身份验证?或者想要将 SQL Provider 数据放在单独的数据库中? -
创建您自己的用户表很好。您可以从会员 API 中获取用户 ID 字段。
-
100% 同意克雷格的观点。让您的基本用户表包含特定于域的用户信息,并存储成员资格 GUID 或电子邮件地址。电子邮件地址很好(如果可跟踪),因为这是放入表单身份验证 cookie 的内容(大多数情况下),因此与会员提供者和您的域模型相关。
标签: c# database visual-studio-2010 asp.net-mvc-2 entity-framework-4