سلام زمانی که از این کد برای ارتباط با بانک استفاده می کنم به مشکل می خورم
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=.; Initial Catalog=EBook_DB; Integrated Security=True;");
}
ولی توی معماریم بهش نیاز دارم چجوری حلش کنم
اینم خطا :
InvalidOperationException: Unable to resolve service for type 'WebApplication1.Models.EFContext' while attempting to activate 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`9[Microsoft.AspNetCore.Identity.IdentityUser,Microsoft.AspNetCore.Identity.IdentityRole,WebApplication1.Models.EFContext,System.String,Microsoft.AspNetCore.Identity.IdentityUserClaim`1[System.String],Microsoft.AspNetCore.Identity.IdentityUserRole`1[System.String],Microsoft.AspNetCore.Identity.IdentityUserLogin`1[System.String],Microsoft.AspNetCore.Identity.IdentityUserToken`1[System.String],Microsoft.AspNetCore.Identity.IdentityRoleClaim`1[System.String]]'.
سلام عزیز.
بررسی کنید که توی DbContext از IdentityDbContext ارث بری کرده باشید و توی startup قسمتی که Identity رو به پروژه اضافه کردید بررسی کنید که DbContext درست رو پاس داده باشید بهش.
بله درسته پاس دادم
به جای اون قسمت که از AddDbContextPool استفاده می کردیم توی کلاس استارت اپ برای معرفی کانکشن استرینگ
از یک متد اوراید شده تو کانتکس استفاده کردم از متد onconfiguring
و خطایی که میده رو کلاس پروگرم تو خط CreateHostBuilder(args).Build().Run(); نشون میده
از این دستور که استفاده می کنم
services
.()<AddScoped<EFContext>().AddIdentity<Users, IdentityRole
.()<AddEntityFrameworkStores<EFContext>
:()AddDefaultTokenProviders
دیگه خطا نمیده
این کد برای خود عملیات identity مشکل نمی سازه ؟
اگر DbContext به درستی تنظیم شده باشه و به سرویس DependecyInejction به درستی اضافه شده باشه نباید مشکلی باشه.