gpt4 book ai didi

c# - 有条件地向 LINQ 语句添加一个条件

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:50 26 4
gpt4 key购买 nike

我有这样的东西:

public Assignments GetAssignmentsForProider(string provider_k, string recordType)
{
if (recordType == "A")
{
var query = from ea in this.Context.Assignments
where ea.Provider_K == provider_k
&& ea.Active == true
&& ea.RecordType == "A"
select ea;
return query.FirstOrDefault();
}
else if (recordType == "E")
{
var query = from ea in this.Context.Assignments
where ea.Provider_K == provider_k
&& ea.RecordType == "E"
select ea;
return query.FirstOrDefault();
}
}

两个问题:

  1. 它无法编译!因为它也需要一个默认的返回语句,我不确定真正要返回什么,但在我的程序中,如果条件发生,这些都不会发生。我总是在第一或第二。

  2. 真正不同的是第一个我们检查 Active == true 而第二个我们不检查。那么有没有更好的写法呢?

最佳答案

是这样的吗?

public Assignments GetAssignmentsForProider(string provider_k, string recordType)
{
var query = from ea in this.Context.Assignments
where ea.Provider_K == provider_k
&& ea.RecordType == recordType
&& (recordType == "E" ? true : ea.Active)
select ea;
return query.FirstOrDefault();
}

这应该可以满足您的需求。

关于c# - 有条件地向 LINQ 语句添加一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23759988/

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