【问题标题】:ASP.NET MVC2 and Entity Framework 4 Generating Model from Database without duplicating Membership ModelsASP.NET MVC2 和 Entity Framework 4 从数据库生成模型而不复制成员模型
【发布时间】: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


【解决方案1】:

解决方案是不映射成员资格表。将 GUID 或电子邮件地址存储在另一个表中。有关详细答案,请参阅问题 cmets。感谢@RPM1984 和@Craig Stuntz。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 2011-04-09
    • 2011-05-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    相关资源
    最近更新 更多