草庐IT

where-in

全部标签

c# - 包含路径表达式必须引用 type.in 预加载中定义的导航属性

我尝试像这样包含匿名类型:除了CompanyTitle,PeriodTypeName之外,我还想要所有incomelist属性varincomeList=ctx.IncomeLists.Include(i=>new{CompanyTitle=i.CompanyId.ToString()+"/"+i.Company.CompanyName,PeriodTypeName=i.ListPeriods.Select(lp=>lp.PeriodType.PeriodTypeName)}).ToList()我的模型部分是这样的:但我得到以下异常:TheIncludepathexpressionmu

c# - LINQ:具有多个条件的单个 Where 与具有单个条件的连续 Where 之间的区别

这个问题在这里已经有了答案:ShouldIusetwo"where"clausesor"&&"inmyLINQquery?(6个答案)关闭5年前。连接多个Where有什么缺点吗?在LINQ中而不是使用单个Where有多个条件?我问是因为使用多个Where有助于降低复杂性并显着提高代码的可维护性。考虑以下代码,chargeList是List这是一个BindingSource的来源:IEnumerablematchingCharges=chargeList;if(!string.IsNullOrWhiteSpace(channelAbbr))matchingCharges=matching

c# - 将 if(x) Foreach() 替换为 Foreach.Where(x)

可能是个愚蠢的问题,但我有很多:if(X){foreach(varYinmyList.Where(z=>z==1){}}在一些代码中构造将其替换为foreach(varYinmyList.Where(z=>X&&z==1){}疯了吗?它的可读性可能较差,但编译器会优化它以使其成为几乎相同的代码吗? 最佳答案 不,您的第一个版本更好更快。当X为真时,第二个版本将为序列中的每个元素计算X。你应该坚持第一个版本。 关于c#-将if(x)Foreach()替换为Foreach.Where(x),

c# - ASP.Net Core 2 错误处理 : How to return formatted exception details in Http Response?

我正在寻找一种方法来返回调用我的WebAPI的方法时发生的任何异常的详细信息。默认情况下,在生产环境中,错误500“InternalServerError”是API返回的唯一信息。它是一个不在互联网上发布的私有(private)API,调用方应用程序需要获取并存储所有详细信息以防出现异常。异常详细信息可以在HttpResponse内容中采用JSON格式,允许调用者阅读消息属性,以及异常的StackTraceString属性(没有类似UseDeveloperExceptionPage配置的HTTP页面)。目前默认的启动配置方法是:publicclassStartup{[...]publi

c# - 如何将参数传递给sql 'in'语句?

我想创建这个查询:select*fromproductswherenumberin('123','234','456');但我找不到任何使用Npgsql和NpgsqlParameter实现此目的的示例。我试过这样:string[]numbers=newstring[]{"123","234"};NpgsqlCommandscmd=newNpgsqlCommands("select*fromproductswherenumberin(:numbers)");NpgsqlParameterp=newNpgsqlParameter("numbers",numbers);command.Par

c# - Linq 到 SQL : WHERE IN statement

CREATETABLE[MyNames]([ID]INTIDENTITYPRIMARYKEY,[Name]NVARCHAR(255)NULL)INSERTINTO[MyNames]VALUES('John')INSERTINTO[MyNames]VALUES('Jane')INSERTINTO[MyNames]VALUES('Peter')INSERTINTO[MyNames]VALUES('Montgomery')INSERTINTO[MyNames]VALUES('Sarah')基于上述(假设的)SQL架构和数据,我想使用LinqtoSQL获取名称在数组值中的所有结果。string

c# - 新手 LINQ 问题 : Is Paging in LINQ Queries Possible?

是否可以在Linq查询中使用“分页”功能?假设我有一些这样的XML:ChoiceOneChoiceTwoChoiceThree...ChoiceForty-EightChoiceForty-NineChoiceFifty如果我想实现分页功能,我是否能够为LINQ查询提供一个偏移量,以便我可以从第11个元素开始并在第20个元素结束?如果是这样,如果数据是对象列表而不是XML,查询会有什么不同吗? 最佳答案 varq=fromXinChoices.Skip((page-1)*pageSize).Take(pageSize)selectX

c# - "Class of <T> where T : Enum"不工作

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:CreateGenericmethodconstrainingTtoanEnum为什么我们不能在C#中执行此操作?而且,如果可能的话,我怎样才能做类似的事情!我想要什么:publicclassATagwhereT:enum{[Somecode..]}publicclassclassBasewhereT:enum{publicIDictionarytags{get;set;}}因此,当需要调用它时,我很确定只会获得我的枚举值之一。publicclassAClassUsingTag:classBase{publi

c# - new() 在 `where T: new()?` 中做了什么

下面代码中的new()做了什么?publicclassAwhereT:B,new() 最佳答案 这是对您的类的泛型参数的约束,这意味着作为泛型类型传递的任何类型都必须具有无参数构造函数。所以,publicclassC:B{publicC(){}}将是一个有效的类型。您可以创建A的新实例.但是,publicclassD:B{publicD(intsomething){}}将不满足约束条件,并且不允许您创建A的新实例.如果您还向D添加了一个无参数构造函数,那么它将再次有效。 关于c#-new

c# - 删除小时数 :seconds:milliseconds in DateTime object

我正在尝试从DateTime对象创建一个字符串,它产生格式mm:dd:yyyy。通常DateTime对象以mm:dd:yyyyhrs:min:secAM/PM的形式出现。有没有办法快速删除DateTime的hrs:min:secAM/PM部分,这样当我将它转换为ToString()时,它只会导致在mm:dd:yyyy? 最佳答案 要回答您的问题,不-您必须将其存储在不同的类型中。最简单的选择是使用字符串。stringdate=dateTime.ToString("MM:dd:yyyy");不过,我也强烈建议不要在程序内部将日期作为字