У меня есть проблема в Entity Framework Core, использующей linq, когда я пытаюсь запросить данные в базе данных, и я хочу вернуть значения, если предоставленные значения являются нулевыми, в основном, возвращают все данные, если они являются нулевыми, и у них есть фильтр значений, использующий их
Вот SQL, показывающий, как выглядит оператор LIKE
ALTER PROCEDURE [dbo].[Pokayokes]
@Action VARCHAR(10)
,@ID_Registo INT = NULL
,@DataInicio VARCHAR(50) = NULL
,@DataFim VARCHAR(50) = NULL
,@Referencia VARCHAR(MAX) = NULL
,@Procura VARCHAR(MAX) = NULL
,@CodigoOperador VARCHAR(MAX) = NULL
AS
BEGIN
SET NOCOUNT ON;
--SELECT
IF @Action = 'PROCURAR'
BEGIN
SELECT
reg.ID_Antierros,
pk.Maquina,
pk.Designacao,
pk.Objectivo,
pk.NumeroPokayoke,
reg.Estado,
re.Data,
re.Referencia,
re.Turno,
re.Operador
FROM RegistoAntiErros reg
join Registo re on reg.ID_Registo=re.ID_Registo
join Pokayoke pk on reg.ID_Pokayoke=pk.ID_Pokayoke
WHERE re.Data BETWEEN @DataInicio AND @DataFim AND re.Referencia LIKE '%' + @Referencia + '%' AND re.Operador LIKE '%' + @CodigoOperador + '%'
order by ID_Antierros asc
END
END
Я пытаюсь сделать что-то похожее с linq
PokayokesRegistos = _context.PokayokesRegistos
.Where(pr =>
EF.Functions.Like(pr.Registo.Referencia.Nome, "%" + PokayokeRegistoViewModel.Referencia + "%") &&
pr.Registo.DataInicioTurno >= PokayokeRegistoViewModel.DataInicio && pr.Registo.DataInicioTurno <= PokayokeRegistoViewModel.DataFim)
.OrderByDescending(pr => pr.Id)
.ToList();
, однако это не работает?до сих пор нет записей Referencia