UI에서 사용되지 않는 많은 필드가 엔터티에 포함되어 있으므로 내 OData 컨트롤러에서 DTF로 변환합니다.ASP.NET OData - 데이터 전송 개체가있는 데이터 전송 개체가있는 패치 구현
이 질문과 대답 (ASP.NET WebApi OData support for DTOs)은 OData URI의 쿼리 옵션을 EF 쿼리에 적용하고 DTO를 반환하는 방법을 보여줍니다. 이것은 위대합니다. 즉, DB를 쿼리하는 이점과 작은 엔터티를 직렬화하는 이점을 얻게됩니다.
그러나 업데이트 할 때 필자의 패치 된 필드가있는 델타를 내 엔터티에 어떻게 적용합니까?
엔티티의 필드 이름이 DTO와 일치하지 않습니다.
델타에서 변경된 필드 컬렉션을 사용할 수 있지만 모든 필드 이름을 매핑하고 리플렉션을 사용하여 엔터티의 모든 속성을 업데이트합니다.
더 좋은 방법이 있습니까?
DTO 대신 엔티티를 사용해야하고 odata $ select 매개 변수를 사용하여 데이터의 크기를 줄여야합니까?
난 그냥 WebAPI로 되돌릴 예를 UpdateStartDate (INT의 ID, 날짜 시간 newStartDate)
매핑을 정의하는 데 automapper를 사용하고 있습니까? –
예 매핑에 AutoMapper를 사용하고 있습니다. – BenCr