나는 automapper가 작동하도록 설정 한 모든 것을 가지고있다. 애트리뷰트가 잘 작동하고 있습니다. DTO를 올바르게 채우고 올바르게 채 웁니다. 내가 가진 automapper, On 컨트롤러에 작업을 생성합니다. 혼란스러운
[HttpPost]
[AutoMap(typeof(User), typeof(UserCreateDTO))]
public ActionResult Create(User user)
{
if (ModelState.IsValid)
{
_repository.Create(user);
return RedirectToAction("Details", new { id = user.UserId });
}
return View("Edit", user);
}
아래 DataAnnotation 내 엔티티 객체이며, 구현 및 사방 사용자 객체를 사용을 통해 인터페이스 인 리포지토리에 을 전달 사용자 개체에 설정처럼 내 컨트롤러 만들기 조치 보인다.
내가하고 싶은 것은 위의 동일한 코드를 사용하는 경우와 같습니다.
[HttpPost]
[AutoMap(typeof(User), typeof(UserCreateDTO))]
public ActionResult Create(UserCreateDTO userdto)
{
if (ModelState.IsValid)
{
_repository.Create(userdto);
return RedirectToAction("Details", new { id = userdto.UserId });
}
return View("Edit", userdto);
}
질문 : 내 DataAnnotation 내가 유효성을 검사 할 것을 제한하는 UserCreateDTO에 지금있다. 검증은 내가 사용자 개체로 나에게 허용하지 않는 방법을 만드는 객체 인 UserDTO을 통과 할 때입니다 문제는 인터페이스에 UserCreateDTO를 대체 할 내가 모든 코드를 변경할 수 없습니다
public interface IUserRepository
{
IQueryable<User> GetAllUsers();
User GetUserById(Guid id);
void Create(User user);
User Edit(User user);
void Delete(User user);
void Save();
}
아래 같은 인터페이스가되는 것보다 통과되면 Repository 및 UserEditDTO/UserShowDTO가있는 경우 어떻게됩니까? 이 문제를 어떻게 해결할 수 있습니까? 나는 가능한 한 많이 설명했다.
위의 조치 방법에 대한 예를 들어주세요. 감사하게 생각합니다. 나는 automapper에 정오이다. – Pirzada
내 대답이 업데이트되었습니다. 도움이 필요하면 다시 말하십시오. – rboarman
AutoMapper.Profile을 상속하고 Configure를 재정의하는 클래스를 직접 생성하여 응용 프로그램의 한 곳으로지도를 만들 수 있습니다. – CRice