0
데이터베이스에 엔티티가 저장되어 있으며 선택한 업데이트 및 삭제를 위해 API를 통해 노출하려고합니다. 문제는 엔티티의 최종 모양이 저장된 모양과 다르다는 것입니다. 어떻게 이렇게 코드를 통합 할 수 있습니다.엔티티 프레임 워크 나머지 API 변경 엔티티
법인이
public int id { get; set; }
public int templateId { get; set; }
public int resourceId { get; set; }
public int titleId { get; set; }
public int dow { get; set; }
public int duration { get; set; }
public string startTimeStr { get; set; }
ScheduleTemplate
입니다하지만 노출해야 할 것은 위의 대신 내가 두 개의 필드 스타 데이트와 종료 날짜를 계산하기 위해이를 사용하려는 다우, 기간 및 StartimeStr 필드이다.여기서 startdate = starttimeStr을 datetime으로 사용하여 현재 요일 (다우)에 상대적인 날짜입니다. 좋아요 것 종료 날짜 = STARTDATE + 시간 (분)
는 noth 방법 STARTDATE/ENDDATE 수신 할 때 우리는 클라이언트에 보낼 때 STARTDATE/ENDDATE을 도출 할 필요에서 다우, startimestr 및 기간을 유도 할 필요가 .IE 완료한다 클라이언트에서 저장합니다.
누구든지이 문제를 해결할 수있는 방법을 찾았다면 도움이 될 것입니다. 미리 감사드립니다.
public class EntityViewModel
{
public int id { get; set; }
public int templateId { get; set; }
public int resourceId { get; set; }
public int titleId { get; set; }
public int dow { get; set; }
public DateTime startDate { get; set; }
public DateTime endDate { get; set; }
}
public interface IEntityConverter
{
Entity Convert(ViewModel viewModel);
ViewModel Convert(Entity entity);
}
public class EntityConverter
{
public Entity Convert(EntityViewModel viewModel)
{
return new Entity
{
id = viewModel.id,
templateId = viewModel.templateId,
resourceId = viewModel.resourceId,
titleId = viewModel.titleId,
dow = viewModel.dow,
startTimeStr = viewModel.startDate.ToString(),
duration = (int)((viewModel.endDate - viewModel.startDate).Ticks)
};
}
public EntityViewModel Convert(Entity entity)
{
var startDate = DateTime.Parse(entity.startTimeStr);
return new EntityViewModel
{
id = entity.id,
templateId = entity.templateId,
resourceId = entity.resourceId,
titleId = entity.titleId,
dow = entity.dow,
startDate = startDate,
endDate = startDate.AddTicks(entity.duration)
}
}
}
: