小编Ang*_*lva的帖子

在 ASP.NET Core 依赖注入中注册具有非泛型实现的泛型接口

我有一个通用界面:

public interface IValidationResult<T> where T : struct {
        T Status { set; get; }
        User User { set; get; }
}
Run Code Online (Sandbox Code Playgroud)

以及一个实现通用接口的类:

public class ValidationResult : IValidationResult<ValidationResult.ValidationStatus> {
    public enum ValidationStatus { UserNotFound, InvalidPassword, Valid, UserBlankOrSpace }
    public ValidationStatus Status { set; get; }
    public User User { set; get; }

    public ValidationResult (User user, ValidationStatus status) {
        if (user == null) {
            throw new ArgumentNullException ("The User is Null");
        }
        Status = status;
        User = user;
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# generics dependency-injection asp.net-core

4
推荐指数
1
解决办法
1341
查看次数

ASP.Net Core如何在EF Core和Identity中获得用户角色

嗨,我正在使用Identity与自定义用户类和EF Core构建API.我想获取属于用户的角色的名称.表的图表如下(忽略userclaims和userlogins): 在此输入图像描述

正如您所看到的,角色和用户是N到N,因此内部Identity创建了一个名为UserRoles的联结表,我的控制器如下所示:

Route ("api/[controller]")]
    public class UserController : Controller {
        private readonly DBContext _db;
        private readonly UserManager<Usuario> _userManager;
        public UserController (DBContext db, UserManager<Usuario> userManager) {
            this._db = db;
        }
        [HttpGet ("GetUserById/{id}", Name = "GetUserById")]
        public async Task<IActionResult> GetUserById (string id) {
            try {

                var user = await this._db.Users.Where (x => x.Id == id).Include (x => x.Roles).FirstOrDefaultAsync ();
                if (user == null) {
                    return NotFound ();
                }
                return Ok (user);
            } catch (Exception e) {
                Console.WriteLine (e.Message);
                return BadRequest (); …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core asp.net-core-webapi

2
推荐指数
1
解决办法
9170
查看次数