MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Nie można znaleźć „IdentityContext” (brakuje dyrektywy using lub odwołania do zestawu)

Osobiście użyłem tego samego przykładu dla mojej implementacji Asp.net Identity przez Mongodb, a powodem, dla którego brakuje tej klasy, jest fakt, że próbka jest dość stara, a rozszerzenie Identity dla mongodb, od którego zależy, to tutaj i doszedł już do zaktualizowanych wersji.

Nie mogę podać pełnego opisu tego, jak go użyłem, ale z pewnością mogę wskazać Ci mój projekt open source tutaj gdzie nauczyłem się z przykładu, o którym wspomniałeś. Mam nadzieję, że rozwiąże to Twój problem z implementacją Asp.net Identity z Mongodb.

Aktualizacja

  1. Jeśli chcesz mieć dokładnie to samo rozwiązanie, które Attila Hajdrik napisał w repozytorium git, upewnij się, że masz dokładnie tę samą wersję pakietu zdefiniowaną przez AspNet.Identity.MongoDB tutaj . Ponieważ sama biblioteka jest teraz sama aktualizowana i zakładam, że albo zaktualizowałeś wszystkie pakiety nuget, albo odtworzyłeś całe rozwiązanie napisane w repozytorium github zgodnie z potrzebami. W obu przypadkach możesz otrzymać wersję AspNet.Identity.MongoDB, której nie chcesz używać. To powinno być najkrótszym i najłatwiejszym rozwiązaniem dla Twoich potrzeb.

  2. Teraz na moim rozwiązaniu wspomnianym powyżej z mojego repozytorium github. Użyłem własnego IAccountContext i użyłem UserManager<User> jako mój podstawowy AccountManager i UserStore<User> jako mój podstawowy sklep dla kierownika. Tutaj User class jest klasą tożsamości, której używam, i pochodzi od IdentityUser .

Technicznie rzecz biorąc, możesz łatwo zbudować własny kontekst i naprawdę nie musisz w pełni polegać na podanym przykładzie.

Mój przykładowy AccountContext to :

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
}

Tutaj, AccountManager to UserManager<T> pochodna i zajmuje IUserStore<User> w swoim konstruktorze. Daje to praktycznie więcej swobody w projektowaniu warstwy tożsamości. :)

Mam nadzieję że to pomoże.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Polecenie nie powiodło się z powodu błędu 168 (InvalidPipelineOperator):„Nierozpoznane wyrażenie „$match”

  2. mongodb-org konflikty z mongodb-10gen-server

  3. PHP intl.so nie działa

  4. 5 sposobów na sprawdzenie rozmiaru kolekcji w MongoDB

  5. TypeError:db.findWConditionandler nie jest funkcją MongoDB