gpt4 book ai didi

c# - 通过 LINQ 中的参数动态 "Not"(或与此相关的任何其他代码)

转载 作者:行者123 更新时间:2023-11-30 19:04:16 25 4
gpt4 key购买 nike

好的,

这可能真的很简单,也可能根本不可能,或者我只是脑子卡住了:)

这是我正在尝试做的一个例子:

public void SomeMethod(bool include)
{
using (AccountDataContext db = AccountContextFactory.CreateContext())
{
if (include)
{
var query = from a in db.FundingTypes where a.FundingTypeId == 1 select a;
}
else
{
var query = from a in db.FundingTypes where a.FundingTypeId != 1 select a;
}
}
}

我想动态更改 != 和 = 而不必编写一个全新的查询。我在现实生活中使用的查询非常大,我不喜欢代码重复。

想法还是想法?

谢谢

最佳答案

这看起来非常简单。

var predicate = include ? 
(Func<int, bool>) x=>x == 1 :
(Func<int, bool>) x=>x != 1 ;
var query = from a in db.FundingTypes where predicate(a.FundingTypeId) select a;

关于c# - 通过 LINQ 中的参数动态 "Not"(或与此相关的任何其他代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879374/

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