“对象名称‘dbo.Memberships’无效。” 当尝试添加新用户时

Div*_*Dan 5 c# membership-provider

我在最后一两天做了一些事情来破坏我的申请。

我有一种使用会员资格提供程序在会员资格数据库中创建新用户的方法。

例如

 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);
....
}
Run Code Online (Sandbox Code Playgroud)

内部异常是

{“对象名称‘dbo.Memberships’无效。”}

堆栈跟踪是

在System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand实体命令,CommandBehavior行为)在System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute [TResultType](ObjectContext上下文,ObjectParameterCollection参数值)在System.Data.Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption)在 System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 源)在 System.Data.Objects.ELinq.ObjectQueryProvider.b__1[TResult](IEnumerable 1 sequence) at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable1 查询,表达式 queryRoot) 在 System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider .Execute[S](Expression 表达式) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source) at System.Web.Providers.QueryHelper.GetMembership(MembershipEntities ctx, String applicationName, Guid userId) at System.Web .Providers.DefaultMembershipProvider.Membership_CreateUser(字符串应用程序名称,字符串用户名,字符串密码,字符串盐,字符串电子邮件,字符串密码问题,字符串密码Answer,布尔值已批准,日期时间和创建日期,布尔值唯一电子邮件,Int32密码格式,对象和providerUserKey)在System.Web.Providers。 DefaultMembershipProvider.CreateUser(字符串用户名,字符串密码,字符串电子邮件,字符串密码问题,字符串密码Answer,布尔值已批准,对象提供程序UserKey,MembershipCreateStatus&状态)在System.Web.Security.Membership.CreateUser(字符串用户名,字符串密码,字符串电子邮件,字符串密码问题) ,字符串passwordAnswer,布尔值isApproved,对象providerUserKey,MembershipCreateStatus&status)位于c:\ @Code \ Customers \ Api \ Repository \ ConsumerRepository.cs中的Plenfy.Api.Models.ConsumerRepository.Create(消费者消费者):第121行

我不知道如何解决这个问题。数据库和连接字符串看起来不错,我可以使用 EF 连接到它。

谁能建议如何弄清楚这个问题的真相?

小智 -1

try to use 
MembershipCreateStatus status;
        if (consumer.UserId == Guid.Empty)
        {
            consumer.UserId = Guid.NewGuid();
        }
        if (consumer.ConsumerId == Guid.Empty)
        {
            consumer.ConsumerId = Guid.NewGuid();
        }
        try
        {
            var membershipUser = System.Web.Security.Membership.CreateUser(consumer.UserName, consumer.Password, consumer.Email, null, null, consumer.IsApproved, consumer.UserId, out status);
        }
Run Code Online (Sandbox Code Playgroud)