Asp.net mvc 4 实体框架将无法识别网页\用户角色

Asp.net mvc 4 实体框架将无法识别网页\用户角色,asp.net-mvc-4,entity-framework-5,simplemembership,Asp.net Mvc 4,Entity Framework 5,Simplemembership,我正在使用EF5 VS2012和SimpleMembership。我已经让MS自动创建了SQL表 WebSecurity.InitializeDatabaseConnection("SqlRoleManagerConnection", "webpages_Users", "UserID", "Username", true); 每当我试图从DB创建一个模型来创建EDMX时,它都会忽略webpages\u UsersInRoles表。XML中有对此表的引用,但它没有出现在图表上,也没有为其生成任

我正在使用EF5 VS2012和SimpleMembership。我已经让MS自动创建了SQL表

WebSecurity.InitializeDatabaseConnection("SqlRoleManagerConnection", "webpages_Users", "UserID", "Username", true);
每当我试图从DB创建一个模型来创建EDMX时,它都会忽略webpages\u UsersInRoles表。XML中有对此表的引用,但它没有出现在图表上,也没有为其生成任何类。我正在运行VS2012更新1,因此这与通常报告的错误无关。我还手动选择了运行自定义工具,该工具无法修复

您可能知道,这个缺少的表只包含两个FK字段来链接用户和角色表

我尝试创建一个新项目和新的EDMX文件,它们都会产生相同的结果-缺少网页\用户角色图和类

编辑:我可以从DB进入更新并选择表,它不会添加到图表或类中。这种行为的原因是什么?如何强制EF连接所有内容,以便使用此表和类


通常,您不会在代码中直接引用该表。您可以使用
成员资格
API

这里有一篇关于它的好文章:

示例代码:

private void SeedMembership()
{
    if (!Roles.RoleExists("Administrator"))
    {
        Roles.CreateRole("Administrator");
    }

    if (!Roles.RoleExists("Teacher"))
    {
        Roles.CreateRole("Teacher");
    }

    if (!Roles.RoleExists("Student"))
    {
        Roles.CreateRole("Student");
    }

    if (!WebSecurity.UserExists("leniel"))
    {
        WebSecurity.CreateUserAndAccount("leniel", "mypass");
    }

    if (!Roles.GetRolesForUser("leniel").Contains("Administrator"))
    {
        Roles.AddUsersToRoles(new[] { "leniel" }, new[] { "Administrator" });
    }

    if (!WebSecurity.UserExists("tester"))
    {
            WebSecurity.CreateUserAndAccount("tester", "test123");
    }

    if (!Roles.GetRolesForUser("tester").Contains("Administrator"))
    {
        Roles.AddUsersToRoles(new[] { "tester" }, new[] { "Administrator" });
    }
}

我认为这是EF处理多对多关系的方式, 以下是两种解释以及如何使用它们:


问题是什么?你到底需要这个图表吗?你能直接处理这张桌子上的任何事情吗?我想如果在创建
EDMX
时它不在那里,那是因为它不是必需的。@LenielMacaferi没有这个表,你就不能建立关系,没有类,我就不能在代码中引用它。我尝试手动添加一个类,该类将模拟EDMX生成的内容,并进行编译,但我仍然无法在代码中访问它。这种行为很奇怪,根据上面的例子,你应该能够纠正。我和你有同样的问题,你有解决办法吗?@TuyenNguyen还没有,如果你发现了什么,请发邮件。@Vic Ok,所以我打开文件*.edmx.diagram,我看到webpages\u UsersInRole是一个AssociationConnector而不是EntityTypeShape。这是一篇很好的种子数据库文章。也许我只是做错了,但我没有使用会员服务提供商。我正在运行一个使用domain auth的Intranet webapp,并尝试编写代码,以便能够管理允许访问部分站点的域帐户和角色。