1
최신 ASP.NET ID를 사용하는 응용 프로그램에서 사용자 목록을 얻고 싶습니다. 그래서 UserManager의 인스턴스를 사용하는이 컨트롤러를 만들고 메서드에 내장 된 메서드 (ASP.NET ID 2)를 쿼리합니다.사용자 목록을 가져올 때 작은 5 테이블 ID 컨텍스트 대신 UserManager를 사용하면 어떤 이점이 있습니까?
namespace WebRole1.WebAPI
{
public class UserProfileController : ApiController
{
public UserProfileController()
{
}
public UserProfileController(ApplicationUserManager userManager)
{
UserManager = userManager;
}
private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
get
{
return _userManager ?? Request.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
[HttpGet]
[ActionName("GetMapData")]
public HttpResponseMessage GetMapData()
{
var users = UserManager.Users
.Select(u => new { Id = u.Id, Name = u.UserName })
.ToList();
return Request.CreateResponse(HttpStatusCode.OK, users);
}
ID 컨텍스트를 만든 다음 Entity Framework를 사용하여 데이터베이스에 대해 동일한 SQL을 실행하는 것보다 효율적입니다. 나에게 더 많은 것을 제어하고 코드를 더 단순하게 보일수록 후자를하는 것이 더 쉬울 것 같다.