0
다음 문장에서는이 예외가 발생합니다. 중첩 된 쿼리가 지원되지 않습니다. Operation1 = '케이스'Operation2 = '중첩 쿼리가 지원되지 않습니다. Operation1 = '사례'Operation2 = '수집
_contexto.PESO_PIE.Where(w => w.LOTE_SACRIFICIO.LOTE.ID_ESTATUS_LOTE != _estatus_cerrado)
.GroupJoin(_contexto.PESO_CALIENTE,
PP => PP.ID_SACRIFICIO,
pc => pc.ID_SACRIFICIO,
(x, y) => new { PP = x, pc = y.DefaultIfEmpty() })
.SelectMany(a => a.pc.Select(b => new { PP = a.PP, pc = b }))
.Select(s => new cPeso_Caliente() {
Sec_Sacrificio = s.PP.SEC_SACRIFICIO,
Cliente = s.pc != null ? s.pc.DESTINO_CLIENTE.DESTINO_CLIENTE1 : null,
Consec_Dia = s.pc != null ? s.pc.CONSEC_DIA : (int?)null,
Es_Maquila = s.PP.LOTE_SACRIFICIO.ORDEN_COMPRA.PROVEEDOR.ES_MAQUILA,
Fecha_Registro = s.pc != null ? s.pc.FECHA_REGISTRO : (DateTime?)null,
Folio_Lote = s.PP.LOTE_SACRIFICIO.LOTE.ID_LOTE, // cambiar por folio lote despues de merge
Folio_Orden_Compra = s.PP.LOTE_SACRIFICIO.ORDEN_COMPRA.ID_ORDEN_COMPRA, //cambiar por folio orden sacrificio despues de merge
IC = s.pc != null ? s.pc.IC : (byte?)null,
Id_Destino_Cliente = s.pc != null ? s.pc.ID_DESTINO_CLIENTE : (long?)null,
Id_Estado_Producto = s.pc != null ? s.pc.ETIQUETA.ID_ESTADO_PRODUCTO : null,
Id_Etiqueta = s.pc != null ? s.pc.ID_ETIQUETA : null,
Id_Proveedor = s.PP.LOTE_SACRIFICIO.ORDEN_COMPRA.ID_PROVEEDOR,
Id_Sacrificio = s.PP.ID_SACRIFICIO,
Id_Usuario = s.pc != null ? s.pc.ID_USUARIO : null,
IFE = s.pc != null ? s.pc.IFE : (byte?)null,
IGC = s.pc != null ? s.pc.IGC : (byte?)null,
IGP = s.pc != null ? s.pc.IGP : (byte?)null,
MAD = s.pc != null ? s.pc.MAD : (byte?)null,
M_30 = s.pc != null ? s.pc.M_30 : (bool?)null,
Proveedor = s.PP.LOTE_SACRIFICIO.ORDEN_COMPRA.PROVEEDOR.NOMBRE_COMERCIAL,
R1 = s.pc != null ? s.pc.R1 : false,
Version = s.pc != null ? s.pc.VERSION : null,
GPE = s.pc != null ? s.pc.GPE : (byte?)null,
Tipo_Ganado = s.PP.LOTE_SACRIFICIO.TIPO_GANADO.TIPO_GANADO1,
Peso_Caliente = s.pc != null ? s.pc.ETIQUETA.PESO : (decimal?)null,
Peso_Pie= s.PP.PESO_PIE1,
Id_Producto=s.PP.LOTE_SACRIFICIO.ORDEN_COMPRA.DETALLE_OC.FirstOrDefault().ID_PRODUCTO,
Id_Lote_Sacrificio=s.PP.ID_LOTE,
Id_Tipo_Lote=s.PP.ID_TIPO_LOTE,
Log_Etiqueta_Anomalia= s.pc !=null && s.pc.ETIQUETA.ID_ESTADO_PRODUCTO!="N"?
s.pc.ETIQUETA.LOG_ETIQUETA_ANOMALIA.Select(sa=>new cLog_Etiqueta_Anomalia {
Id_Anomalia= sa.ID_ANOMALIA,
Id_Etiqueta= sa.ID_ETIQUETA,
Id_Log_Etiqueta= sa.ID_LOG_ETIQUETA,
Id_Resultado_Anomalia= sa.ID_RESULTADO_ANOMALIA,
Version= sa.VERSION
}): null
}).OrderBy(o=>o.Sec_Sacrificio).AsEnumerable()
를 수집 나는 문제가 나는이 예외에 관련된 질문을 읽고하지만 난 뭔가를 찾을 수 없습니다
Log_Etiqueta_Anomalia= s.pc !=null && s.pc.ETIQUETA.ID_ESTADO_PRODUCTO!="N"?
s.pc.ETIQUETA.LOG_ETIQUETA_ANOMALIA.Select(sa=>new cLog_Etiqueta_Anomalia {
Id_Anomalia= sa.ID_ANOMALIA,
Id_Etiqueta= sa.ID_ETIQUETA,
Id_Log_Etiqueta= sa.ID_LOG_ETIQUETA,
Id_Resultado_Anomalia= sa.ID_RESULTADO_ANOMALIA,
Version= sa.VERSION
}): null
쿼리의 다음 부분에 알고 lambdas에서이 문제를 해결할 수 있습니다.
이 작업을 수행 할 수있는 방법이 있습니까? 아니면 EF 캔트가이 쿼리를 처리합니까?
이 PESO_CALIENTE와 SACRIFICIO가 1이 해당 계정에 보자
Etiqueta_Anomalia = GetEtiqueta_Anomalia(s, sa);
:
나는 똑같은 생각을하고 있었지만 그것이 가능했는지 알고 싶었습니다. –