sql >> Database teknologi >  >> NoSQL >> MongoDB

'IdentityContext' kunne ikke findes (mangler du et brugsdirektiv eller en monteringsreference)

Jeg brugte personligt det samme eksempel til min Asp.net Identity-implementering over Mongodb, og grunden til, at du mangler den klasse, er, at prøven er ret gammel, og den identitetsudvidelse for mongodb, den afhænger af, er her og den er allerede nået frem til opdaterede versioner.

Jeg kan ikke gå med den fulde beskrivelse her om, hvordan jeg brugte det, men jeg kan helt sikkert henvise dig til mit open source-projekt her hvor jeg har lært fra det eksempel, du nævnte. Jeg håber, det ville løse dit problem med at implementere Asp.net Identity med Mongodb.

Opdater

  1. Hvis du vil have nøjagtig den samme løsning, som Attila Hajdrik skrev i git-repoen, skal du sørge for, at du har nøjagtig den samme pakkeversion, som AspNet.Identity.MongoDB definerede her . Fordi selve biblioteket nu selv er opgraderet, og jeg formoder, at du enten har opdateret alle nuget-pakkerne eller genskabt hele løsningen skrevet i github-repoen efter dit behov. I begge tilfælde kan du ende med en version af AspNet.Identity.MongoDB, du ikke ønsker at bruge. Denne burde være den korteste og nemmeste løsning til dit behov.

  2. Nu på min løsning nævnt ovenfor fra min github repo. Jeg brugte min egen IAccountContext og jeg brugte UserManager som min base AccountManager og UserStore som min underliggende butik for lederen. Her Bruger klasse er den identitetsklasse, som jeg bruger, og som er afledt af IdentityUser .

Teknisk kan du nemt bygge din egen kontekst ud, og du behøver ikke at stole fuldt ud på det givne eksempel.

Mit eksempel på kontokontekst ville være:

public class AccountContext : IAccountContext
{        
    private readonly IDbContext dbContext;
    private readonly AccountManager accountManager;

    public AccountContext(
        IDbContext dbContext,         
        AccountManager accoutnManager)
    {
        this.dbContext = dbContext;
        this.accountManager = accoutnManager;        
    }
// Your own stuff here
}

Her, AccountManager er en UserManager derivat, og det kræver en IUserStore i dets konstruktør. Det giver dig praktisk talt mere frihed til, hvordan du vil designe dit identitetslag. :)

Håber dette hjælper.



  1. MongoDB-dokumenter udløber for tidligt (mongoose)

  2. Nyttige scripts til Couchbase Dba

  3. Kom godt i gang med MongoDB og Mongoose

  4. Forespørgsel returnerer forkert resultat ved hjælp af mongdb erlang-driver?