Условно, где EntityFramework - PullRequest
       10

Условно, где EntityFramework

0 голосов
/ 16 октября 2019

Учитывая следующее выражение SQL в классическом ASP, каким будет ваш перевод на Linq?

sq = " select cod_troquel, referencia, fila, columna, dimX, dimY, ancho, avance, calleVertical, calleHorizontal, pinzaIzquierda, pinzaDerecha, tt.nombre, ett.nombre, pinzaSuperior, pinzaInferior,radioCantos, convert(tinyint, t.regular), fichero, t.observaciones, t.nEjemplares, t.aplicarPrecioGolpe, t.golpes, app.tipoPagina "&_
     " from agrupacionProductoProducto app "&_
     " inner join troquelAPP tapp on tapp.agrupacionProductoProducto=app.cod_agrupacionProductoProducto "&_
     " inner join etTroquel t on t.cod_troquel=tapp.troquel "&_
     " left join etTipoTroquel ett on ett.cod_etTipoTroquel = t.tipoTroquel2 "&_
     " left join tipoTroquel tt on tt.cod_tipoTroquel = t.tipoTroquel "&_
     " where t.usoArchivo=1 and t.ideal=0 and t.baja=0 and app.cod_agrupacionProductoProducto="&codigo

if tipoPagina=1 then 'LAMINA SIMPLE
    sq = sq & " and t.regular = 0"
else 'ETIQUETA
    sq = sq & " and t.regular = 1"
end if

sq = sq & " order by upper(referencia)"

В частности, моя проблема заключается в том, где они находятся в if, как они добавляются

1 Ответ

2 голосов
/ 16 октября 2019

в основном в рамках сущности вы можете сначала построить запрос

var query = _dbContext.Users.Where(u => u.Name == "Josh");

, затем вы можете обновить запрос

if(!string.IsNullOrEmpty(lastName)){
     query = query.Where(u => u.LastName == lastName);
}
return query.ToList();
...