所以我必须使用Entity Framework和我认为UmbracoMembeShipProvider这个项目(使用Umbraco的ASP.NET MVC 4)。 现在我必须将Roles添加到项目中。在DB中有一个Users表和一些其他表。 DB中没有标识/角色或排序。我试图在用户和角色之间创建一个Roles表和一个联结表,但后来我无法更新模型。我创建了一个.edmx模式文件,它没有获取联结表,只是Roles表,其中所有列都是从联结表中填充的。
我尝试通过在.edmx文件中创建一个角色实体来接近它,然后通过迁移更新数据库,这也不起作用,因为项目是以一个“核心”项目的方式结构化的这些模型是一个“Web”项目,其他模型也是如此。它给了所有大量的错误。
在Web项目中,有一个包含2个类的“Migrations”目录,其中一个类有2个空方法(向上/向下),另一个用于创建一些索引,然后是一堆注释代码。
我在ORMs中也是一个新手,所以我不知道如何处理这个问题,继续在我之前的其他开发人员离开的地方。
与此同时,我将学习一些关于EF的教程,但我们将非常感谢任何帮助或指导。
答案 0 :(得分:0)
您需要在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" />