2015-08-27 2 views
0

Так что я должен работать над этим проектом (ASP.NET MVC 4 с Umbraco), который использует Entity Framework, и я думаю, что UmbracoMembeShipProvider.
Теперь мне нужно добавить роли в проект. В БД есть таблица «Пользователи» и некоторые другие. В базе данных нет идентификатора/ролей или сортировки. Я попытался создать таблицу ролей и таблицу соединений между пользователями и ролями, но затем я не смог обновить модели. Я создал файл схемы .edmx и не нашел таблицу соединений, только таблицу ролей со всеми столбцами, заполненными из таблицы соединений.Проблемы, связанные с продолжением проекта MVC с помощью Entity Famework

Я попытался приблизиться к нему, создав объект Roles в файле .edmx, а затем обновил DB через миграции, что также не сработало, потому что проект был построен таким образом, что проект имеет «Core», все модели являются, а затем проектом «Web», где есть некоторые другие модели. И это дало все кучи ошибок.

В веб-проекте есть каталог «Migrations» с двумя классами, один из которых имеет два пустых метода (вверх/вниз) и один, который создает некоторые индексы, а затем кучу комментируемого кода.

Я также довольно новичок в ORM в целом, поэтому я не знаю, как подойти к этой проблеме, продолжая, когда передо мной останутся другие разработчики.

Тем временем я подберу несколько руководств по EF, но любая помощь или руководство будут действительно оценены.

ответ

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" /> 
+0

Благодарим вас за ответ! Соединение App-DB работает так, как должно. Я могу создавать новых пользователей, входить в систему и т. Д. Но в БД я не видел связи между таблицей Users и чем-то похожим на таблицу ролей. Поэтому я думаю, что у проекта есть UmbracoRoleProvider, но он не использует его. – ogrishmania