2016-06-07 7 views
0

나는 linq을 통해 직접 생성 된 데이터 객체를 호출하는 웹 서비스를 만들고 있는데, 궁금 해서요, 어떻게 DateTime을 변환 할 수 있습니까? 문자열에 직접?,이 때문에 DateTime 변환 할 수 없습니다? DateTime 수 및 다음 문자열을 통해 변수 또는 무엇을, 왜냐하면 linq 나를 허용하지 않습니다.DateTime을 변환하는 방법? String to direct (C# linq)

lista = (from p in db.Acciones 
    select new ItemAcciones 
    { 
     ID_Accion = p.ID_Accion, 

     FechaHora = p.FechaHora != null ? (DateTime)p.FechaHora : DateTime.Now, 
     //ShowFechaHora = !String.IsNullOrWhiteSpace(((DateTime)p.FechaHora).ToString("HH:mm")) ? ((DateTime)p.FechaHora).ToString("HH:mm") : DateTime.Now.ToString("HH:mm"), 

     ID_EmpresaNombre = p.Empresas.EmpresaNombre, 
     ID_ResponsableNombre = p.Responsables.LoginID, 
     ID_ContactoNombre = p.Contactos.Nombres + " " + p.Contactos.Paterno + " " + p.Contactos.Materno, 
     ID_AccionTipoNombre = p.AccionTipos.AccionTipoGlosa, 
     ID_AccionEstadoNombre = p.AccionEstados.AccEstGlosa, 
     AccionGlosa = p.AccionGlosa, 
     ID_Empresa = p.ID_Empresa, 
     AccionDescripcion = p.AccionDescripcion, 
     ID_Negocio = (int?)p.ID_Negocio ?? 0, 
     ID_Contacto = p.ID_Contacto, 
     ID_AccionTipo = p.ID_AccionTipo, 
     ID_AccionEstado = p.ID_AccionEstado, 

     ID_ProgFecha = p.ID_ProgFecha != null ? (int)p.ID_ProgFecha : 0, 
     ShowID_ProgFecha = String.IsNullOrWhiteSpace(p.ID_ProgFecha.ToString()) ?? p.ID_ProgFecha.ToString() : "--/--/----", 
     //ShowID_ProgFecha = StringAEstilizarComoDate(Convert.ToString(p.ID_ProgFecha)), 

     ID_ProgHora = p.ID_ProgHora != null ? (int)p.ID_ProgHora : 0, 
     //ShowID_ProgHora = StringAEstilizarComoHora(Convert.ToString(p.ID_ProgHora)), 

     ID_EjecFecha = p.ID_EjecFecha != null ? (int)p.ID_EjecFecha : 0, 
     //ShowID_EjecFecha = StringAEstilizarComoDate(Convert.ToString(p.ID_EjecFecha)), 

     ID_EjecHora = p.ID_EjecHora != null ? (int)p.ID_EjecHora : 0, 
     //ShowID_EjecHora = StringAEstilizarComoHora(Convert.ToString(p.ID_EjecHora)), 

     ID_Responsable = p.ID_Responsable, 
     EmpresaRUTCompleto = p.Empresas.EmpresaRut.ToString() + "-" + p.Empresas.EmpresaDV, 
     ID_NegocioNombre = p.Negocios.ProyectoNombre, 
    }).ToList(); 

어떤 질문, 제안 또는 질문을 개선하기 위해 의견을 주시면 감사하겠습니다뿐만 아니라 답 :

여기에 코드입니다.

+2

현재,'p.ID_ProgFecha ?? 0' – SLaks

+0

'DateTime'을 가져 와서'ItemAcciones'에서 계산 된 속성으로 변환합니다. –

답변

-1

이것은 수동 솔루션이지만 SqlFunctions를 사용하여 Date 문자열을 처리 할 수 ​​있습니다.

var qqqq = db.YourTable.Select(q => (q.YourDate == null ? "" : (SqlFunctions.DateName("day",q.YourDate) + "/" + SqlFunctions.DateName("month", q.YourDate) + "/" + SqlFunctions.DateName("year", q.YourDate) + " " + SqlFunctions.DateName("hour", q.YourDate) + " " + SqlFunctions.DateName("minute", q.YourDate)))).ToList(); 

희망이 있습니다. =)

+0

나쁜 조언. 이렇게하면 각각의 중첩 된 객체 ('p.Empresas' 등)에 대한 지연로드가 트리거됩니다. –