4

この 1 日か 2 日で、アプリケーションを壊すために何かをしました。

メンバーシップ プロバイダーを使用して、メンバーシップ データベース内に新しいユーザーを作成する方法があります。

例えば

 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 動作) で System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType] (ObjectContext コンテキスト、ObjectParameterCollection parameterValues) で 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](IEnumerable1 sequence) at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerableSystem.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source) at System. .Web.Providers.QueryHelper.GetMembership(MembershipEntities ctx, String applicationName, Guid userId) System.Web.Providers.DefaultMembershipProvider.Membership_CreateUser(string applicationName, String userName, String password, String salt, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved、DateTime& createDate、Boolean uniqueEmail、Int32 passwordFormat、Object& providerUserKey) System.Web.Providers.DefaultMembershipProvider.CreateUser(文字列ユーザー名、文字列パスワード、文字列メール、文字列 passwordQuestion、文字列 passwordAnswer、ブール値 isApproved、Plenfy.Api.Models.ConsumerRepository の System.Web.Security.Membership.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status) の object providerUserKey, MembershipCreateStatus& status)。 c:\@Code\Customers\Api\Repository\ConsumerRepository.cs:121 行目に Create(Consumer consumer)

問題を解決する方法がわかりません。データベースと接続文字列は正常に見え、EF で接続できます。

誰でもこれの底に到達する方法を提案できますか?

4

1 に答える 1

-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);
        }
于 2014-04-25T14:16:31.910 に答える