【问题标题】:Asp.net membership Table: aspnet_UsersInRoles not showing up in Enity Framework designerAsp.net 成员表:aspnetUserRoles 未显示在实体框架设计器中
【发布时间】:2009-08-14 07:41:10
【问题描述】:

我创建了一个实体数据库,它生成了所有表,但它似乎忘记了 aspnet_usersinRoles 表。

我不知道为什么它会跳过这个或如何添加它。

当我通过 VS2008 查看模型浏览器时,我看到了 aspnet_UsersInRoles 表。

【问题讨论】:

    标签: asp.net entity-framework


    【解决方案1】:

    不,它没有“忘记”aspnet_UsersInRoles。该表仅包含其他表的两个外键。由于您也映射了这些,因此 aspnet_UsersInRoles 被包含在模型中的多对多关系中。换句话说,它就在那里;它只是没有显示为单独的实体,因为它仅用于表示两个其他实体之间的关系。

    【讨论】:

    • 但是如果我仍然想向该字段添加记录会发生什么。因为我需要有记录才能真正建立这些关系。那就是我不喜欢EF的地方是他们隐藏了FK。它不应该隐藏它,我很高兴在 2.0 版中这将得到修复。
    • 你使用相关端,即:someUser.Roles.Add(new Role(...));
    • 如果未以任何方式显示 UsersInRoles 表,我不关注如何将内容插入其中?
    • 你能给我一个完整的例子来告诉我你的意思吗?谢谢
    • 显示在关系中。我已经为您提供了一个完整 代码示例(假设您要添加一个新角色)。在我的第一条评论中。不要让您不必编写大量代码来完成这项工作的事实欺骗了您;真的就是这么简单。要将用户链接到现有角色,您可以执行 someUser.Roles.Add(someRole);
    【解决方案2】:

    这显然是实体框架的限制。我在尝试实施 RIA 解决方案以连接 ASP.NET 成员资格和 Silverlight 时遇到了同样的问题。

    This link has a workaround,虽然我从来没有真正让它按照我想要的方式工作。我最终选择了普通的 Linq2SQL。

    【讨论】:

    • 我会检查的。谢谢
    • 可以将 EF 简化到与 LINQ to SQL 一样基本的程度,但不值得付出努力。更好地尝试并了解它打算如何工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    相关资源
    最近更新 更多