По умолчанию поставщик членства ASP.NET использует встроенную строку соединения с именем LocalSqlServer
, которая выглядит примерно так:
<add name="LocalSqlServer"
connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
и при первом использовании Membership
(или при использовании инструмента менеджера веб-конфигурации), aspnetdb.mdf
будет создан автоматически. Для первого шага вы можете удалить эту connectionString
из web.config
с помощью команды clear
:
<connectionStrings>
<clear/>
<!-- your other connectionStrings -->
</connectionStrings>
а также вы должны изменить connectionString
на membershipProvider
(а также roleProvider
, если вы его используете) в web.config
файле:
<membership userIsOnlineTimeWindow="20">
<providers>
<clear />
<add
connectionStringName="YourSpecifiedConnectionString" // your connectionString here
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="500"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<clear/>
<add connectionStringName="YourSpecifiedConnectionString" // your connectionString here
name="AspNetSqlRoleProvider"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
Для настройки базы данных на использование ASP.NET встроенного поставщика членства вы можете использовать инструмент regsql
которая может быть основана здесь:
C:\Windows\Microsoft.NET\Framework\(version that you are using. mine is v4.0.30319)\
В этой папке найдите файл aspnet_regsql.exe
и запустите его. Будет показан полезный мастер и
поможет вам шаг за шагом настроить новую базу данных. И о вашем последнем вопросе: вам не нужно применять какие-либо изменения
в ваш edmx
файл! EF работает с таблицами, которые вы ему предоставили, а membershipProvider
выполняет свою работу с
таблицы, которые ASP.NET предоставлены ему! Молодцы, Молодцы!