【问题标题】:Problems continuing a MVC project with Entity Famework使用实体框架继续 MVC 项目的问题
【发布时间】:2015-08-28 03:19:33
【问题描述】:

所以我必须处理这个使用实体框架的项目(ASP.NET MVC 4 with Umbraco),我认为是 UmbracoMembeShipProvider。
现在我必须将角色添加到项目中。在数据库中有一个用户表和其他一些表。数据库中没有身份/角色或排序。我尝试在用户和角色之间创建角色表和联结表,但后来我无法更新模型。我制作了一个 .edmx 模式文件,它没有拾取联结表,只是从联结表中提取所有列的角色表。

我试图通过在 .edmx 文件中创建一个角色实体来解决它,然后通过迁移更新数据库,这也不起作用,因为该项目以一种“核心”项目的方式构建,其中所有这些模型是,然后是一些其他模型所在的“Web”项目。它给了所有的错误。

在 Web 项目中有一个“迁移”目录,其中包含 2 个类,其中一个有 2 个空方法(向上/向下),一个创建一些索引,然后是一堆注释代码。

总的来说,我还是 ORM 的新手,所以我不知道如何解决这个问题,在我之前的其他开发人员停止的地方继续。

与此同时,我会挑选一些关于 EF 的教程,但我们将非常感谢任何帮助或指导。

【问题讨论】:

    标签: asp.net-mvc entity-framework umbraco6


    【解决方案1】:

    您需要在 web.config 文件中包含必要的设置,该文件引用指向存在用户/角色表的数据库的连接字符串。它应该看起来像这样。

    <membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add name="UmbracoMembershipProvider"
             type="umbraco.providers.members.UmbracoMembershipProvider"
             enablePasswordRetrieval="false" 
             enablePasswordReset="false" 
             requiresQuestionAndAnswer="false" 
             defaultMemberTypeAlias="Another Type" 
             passwordFormat="Hashed" />
        <add name="UsersMembershipProvider" 
             type="umbraco.providers.UsersMembershipProvider" 
             enablePasswordRetrieval="false" 
             enablePasswordReset="false" 
             requiresQuestionAndAnswer="false" 
             passwordFormat="Hashed" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
      <providers>
        <clear />
        <add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
      </providers>
    </roleManager>
    
    <roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
      <providers>
        <clear />
        <add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
      </providers>
    </roleManager>
    
    <appSettings>
    <add key="umbracoDbDSN" value="server=localhost;database=MSSM;user id=db_user;password=password" />
    

    【讨论】:

    • 感谢您的回答! App-DB 连接正常工作。我可以创建新用户、登录等。但在数据库中,我没有看到用户表和类似于角色表的东西之间的连接。所以我认为该项目有 UmbracoRoleProvider 但它并没有使用它。
    猜你喜欢
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多