Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akce až 50 % zdarma při nákupu e-learningu. Více informací:
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Lukáš Boček:24.3.2022 23:31

Ahoj,
potřeboval bych nápovědu na tuhle chybu. Pracuju ve VS verzi .NET 6.0, tak jsou tam oproti tutoriálu rozdíly, že není „StartUp.cs“, ale poradil jsem si s tím až na jednu věc ohledně „Contextu a IdentityUser“, který hodí chybu po stisknutí tlačítka REGISTROVAT. (Jedná se o tutoriál BLOGU v ASP.NET Core MVC)

InvalidOperati­onException: Cannot create a DbSet for 'IdentityUser' because this type is not included in the model for the context.

Zkusil jsem: Podle tutoriálu chybu nikde nevidím i jsem zkoušel překopírovat kódem s tutoriálu a pořád nic. Tuším, že je potřeba upravit AspBlogContext.cs, ale zatím nevím jak. Nové identity jsem nevytvářel ani neupravoval stejně jako AspBlogContext, tak bych potřeboval nasměrovat..

Chci docílit: Snažím se oproti tutoriálu udělat ve verzi .NET 6.0, což se mi daří až tuhle jednu věc..

 
Odpovědět
24.3.2022 23:31
Avatar
Cyber Ant
Člen
Avatar
Odpovídá na Lukáš Boček
Cyber Ant:25.5.2022 12:48

Ahoj, jak není startup.cs? To je klíčová třída ve které registruješ právě dbContext a IdentityUser. Další možností je, že pokud zakládáš projekt .NET Core a vybereš možnost "Individual User Accounts" , tak ti VS vygeneruje dbcontext pod názvem ApplicationDbCon­text, který obsahuje <IdentityUser>. Pokud si pak vytvoříš další třídu AspBlogContext, tak to ti nebude fungovat, protože v ní nemáš registrované Identity. K tvému problému by to chtělo více informací:

  • obsah metody ConfigureServices (umístěna ve startup.cs), kde jsou zaregistrované služby
  • obsah a název třídy db contextu

Právě ve startup potřebuješ mít v metodě ConfigureServices() něco na tento způsob:

services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationDbContext>();
Nahoru Odpovědět
25.5.2022 12:48
Random random = new Random()
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.