Я сделал что-то в последний день или 2, чтобы разбить мое приложение.«Недопустимое имя объекта« dbo.Memberships ».» при попытке добавить нового пользователя
У меня есть способ создать нового пользователя в базе данных членства, используя поставщика членства.
например.
public void Create(Consumer consumer)
{
MembershipCreateStatus status;
if (consumer.UserId == Guid.Empty)
{
consumer.UserId = Guid.NewGuid();
}
if (consumer.ConsumerId == Guid.Empty)
{
consumer.ConsumerId = Guid.NewGuid();
}
try
{
var membershipUser = Membership.CreateUser(consumer.UserName, consumer.Password, consumer.Email, null, null, consumer.IsApproved, consumer.UserId, out status);
....
}
Внутреннее исключение
{ "недопустимое имя объекта 'dbo.Memberships'."}
Стек след
на System.Data. EntityClient.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, поведение CommandBehavior) at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute [TResultType] (ObjectContext контекст, ObjectParameterCollection parameterValues) в System.Data.Objects.ObjectQuery
1.GetResults(Nullable
1 forMergeOption) на System.Data.Objects.ObjectQuery1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable
1 источник) в системе .Data.Objects.ELinq.ObjectQueryProvider.b__1 [TResult] (IEnumerable1 sequence) at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable
1 запрос, выражение queryRoot) на System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute [S] (выражение Выражение) в System.Linq.Queryable.FirstOrDefault [TSource] (источник IQueryable1) в System.Web.Providers.QueryHelper.GetMembership (MembershipEntities ctx, String applicationName, Guid userId) в System.Web.Providers.DefaultMembershipProvider .Membership_CreateUser (String ApplicationName, String имя_пользователя, String пароль, String соль, String электронной почты, String passwordQuestion, String passwordAnswer, Boolean isApproved, DateTime & createDate, Boolean uniqueEmail, Int32 passwordFormat, объект & ProviderUserKey) в System.Web.Providers.DefaultMembershipProvider .CreateUser (String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus & status) в System.Web.Security.Membership.CreateUser (имя пользователя String, пароль String, строка String, строка passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus & status) at Plenfy.Api.Models.ConsumerRepository.Create (Consumer c onsumer) в c: \ @ Code \ Customers \ Api \ Repository \ ConsumerRepository.cs: строка 121
У меня нет понятия, как исправить проблему. Строка базы данных и подключения выглядит нормально, и я могу подключиться к ней с помощью EF.
Может ли кто-нибудь предложить, как добраться до дна?
Когда вы говорите «вы можете подключиться к нему с помощью EF», что вы имеете в виду? Вы имеете в виду, что вы можете скопировать строку подключения, которую вы видите в вашем web.config, и создать для нее новое соединение? Или вы можете получить список пользователей с помощью Membership.GetUser? Что такое поставщик членства по умолчанию в вашем конфиге? Возможно, создание вашего конфига в этом сообщении (без имени пользователя/пароля и т. Д.) Было бы хорошим началом. –
- ваш поставщик членства, указывающий на правильную строку подключения ?. EF и членский провайдер могут использовать разные строки подключения и указывать на разные dbs. –
Как я помню, имя таблицы в db - dbo.webpages_Membership; Проверьте, что происходит, что инфраструктура сущности хочет найти dbo.membership? – mesut