У меня есть запрос Entity SQL:
SELECT VALUE t FROM MyEntities AS t
WHERE t.Name = @p OR (@p IS NULL AND t.Name IS NULL)
Я могу выполнить запрос следующим образом:
var results = context.CreateQuery<WorkflowInstance>(
query, new ObjectParameter("p", name)).ToList();
Однако, если переменная 'name' равна нулю, я получаюSystem.ArgumentNullException.Поэтому я также попытался использовать DBNull.Value, если имя было пустым, и я получил следующее исключение:
System.ArgumentOutOfRangeException был пойман
Сообщение = Указанный тип параметра 'System.DBNull'не является действительным.Поддерживаются только скалярные типы, такие как System.Int32, System.Decimal, System.DateTime и System.Guid.
Я хотел бы иметь параметризованные запросы, где нулевые значения также являются возможными значениями параметров,Как мне добиться этого с помощью Entity SQL?