我有一种方法 得到一个类别ID, 之后有两个默认为无效的可选字符串参数 。
我尝试使用其他问题中的一些类似答案,
我试图让Linq到EF查询工作如下:
如果任一可选参数都有值,则使用该值,否则使用 `Is Null' 。
如果两种可选参数都作为查询的一部分使用,或者仅根据eis 提供时使用,则使用这些参数。但如果未添加参数,请使用类别 ID。
db 中两个可选参数被标为无效 。
这是无效的代码:
from c in dtx.Categories
where c.CategoryId == CatId
&& (string.IsNullOrEmpty(param1) ? c.Param1 == null : c.Param1 == param1)
&& (string.IsNullOrEmpty(param2) ? c.Param2 == null : c.Param2 == Param2)
select c
尝试二 :
from c in dtx.Categories
where c.CategoryId == CatId
&& (c.Param1 == null ? c.Param1 == null : c.Param1 == param1)
&& (c.Param2 == null ? c.Param2 == null : c.Param2 == param2)
select c
没有丢弃错误, 但两个查询总是返回零结果, 除非两个参数都存在 。
One of the posts I tried: How can i query for null values in entity framework?