gpt4 book ai didi

c# - 是空 Entity Framework 5

转载 作者:行者123 更新时间:2023-12-02 04:56:55 24 4
gpt4 key购买 nike

我在sql server中有这样一句话:

SELECT * FROM Documentos WHERE ( @param IS NULL OR strNOMPRO = @param )

我用实体来做

DocumentsList = db.DOCUMENTOS
.Where(d => d.strNOMPRO == nombre && d.strNOMPRO == null)
.OrderByDescending(d => d.datFECCER).ToList();

如果 param 为空,则返回 sql 中的所有寄存器,但在 linq 中返回 0 个寄存器

我怎样才能做好这件事?

最佳答案

这相当于您的 SQL WHERE 语句:

DocumentsList = db.DOCUMENTOS
.Where(d => nomber == null || d.strNOMPRO == nombre)
.OrderByDescending(d => d.datFECCER)
.ToList();

它检查参数是否为 null 或 ( || Operator ) 它检查 strNOMPRO 属性是否应等于参数。

顺便说一句,因此您的参数不能在查询中间更改,动态添加过滤条件更有效:

var query = db.DOCUMENTOS;

if (!String.IsNullOrEmpty(nombre))
query = query.Where(d => d.strNOMPRO == nombre);

DocumentsList = query.OrderByDescending(d => d.datFECCER).ToList();

进一步阅读:&& Operator|| Operator

关于c# - 是空 Entity Framework 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com