‫۷ سال و ۹ ماه قبل، جمعه ۱۹ آذر ۱۳۹۵، ساعت ۲۲:۱۰
در لایه سرویس، ارث بری‌های دو سرویس ذیل را باید به صورت زیر تغییر دهید:
public class ApplicationRoleStore :
        RoleStore<Role, ApplicationDbContext, int, UserRole, RoleClaim>,
        IApplicationRoleStore


public class ApplicationUserStore :
        UserStore<User, Role, ApplicationDbContext, int, UserClaim, UserRole, UserLogin, UserToken, RoleClaim>,
        IApplicationUserStore
بعد از آن تمام سازنده‌های مورد نیاز کلاس‌های لایه سرویس باید جهت تزریق و استفاده‌ی از اینترفیس‌های همین لایه تغییر کنند.

پ.ن.
این مورد بحث «بسیار» مفصلی هست که اینجا امکانش نیست و حتما نیاز به ارائه‌ی یک solution کامل دارد تا قابل درک باشد: «سفارشی سازی ASP.NET Core Identity - قسمت اول - موجودیت‌های پایه و DbContext برنامه »
‫۷ سال و ۹ ماه قبل، جمعه ۱۹ آذر ۱۳۹۵، ساعت ۱۸:۵۵
در ابتدا از توجه شما سپاسگزارم.

تغییرات نسبت به سفارش سازی Identity :
1- AppDbContext
2- ApplicationUser
3- Startup
بنده مشکلی که با سفارش سازی کامل و مخصوصا Identity دارم خطایی در بخش IoC همین پروژه نسبت به IUserStore هست :

ErrorCS0311The type 'SampleFive.DomainLayer.Models.ApplicationRole' cannot be used as type parameter 'TRole'
 in the generic type or method 'UserStore<TUser, TRole, TContext, TKey, TUserClaim, TUserRole, TUserLogin, TUserToken>'.
 There is no implicit reference conversion from 'SampleFive.DomainLayer.Models.ApplicationRole' to
 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole<int, SampleFive.DomainLayer.Models.ApplicationUserRole, Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRoleClaim<int>>'.
 SampleFive.IoC..NETCoreApp,Version=v1.1
H:\WebApp\CustomizeAspdotnetCore\src\SampleFive.IoC\AppIocConfig.cs32Active

و زمانی که این خط از کد را به شکل زیر تغییر میدهم و از کلاس پیشفرض Identity استفاده میکنم خطای بالا برطرف می‌شود دقیقا مشکل از کجاست هنوز درک نکردم!
public class ApplicationRole : IdentityRole<int, ApplicationUserRole, IdentityRoleClaim<int>>

عملا با جایگزین کردن خط بالا، این مورد غیر فعال خواهد شد و در این خط با خطای زیر مواجه خواهیم شد:

ErrorCS0311The type 'SampleFive.DomainLayer.Models.ApplicationRole' cannot be used as type parameter 'TRole'
 in the generic type or method 'IdentityDbContext<TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken>'.
 There is no implicit reference conversion from 'SampleFive.DomainLayer.Models.ApplicationRole' to
 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole<int, SampleFive.DomainLayer.Models.ApplicationUserRole, SampleFive.DomainLayer.Models.ApplicationRoleClaim>'.
SampleFive.DataLayer..NETCoreApp,Version=v1.1
H:\WebApp\CustomizeAspdotnetCore\SampleFive.DataLayer\Context\ApplicationDbContext.cs16Active
‫۷ سال و ۹ ماه قبل، جمعه ۱۹ آذر ۱۳۹۵، ساعت ۱۱:۲۲
یکی از مشکلات خیلی شایع در تقویم‌های فارسی قدیمی بودن اونهاست . مثلآ باگ عدم نمایش تقویم روی مودال در تقویم استاندارد بوت استرپ رفع شده ولی اکثر تقویم‌های فارسی این مشکل رو دارند .