草庐IT

where-clause

全部标签

c# - SQL WHERE 子句匹配带有尾随空格的值

在SQLServer2008中,我有一个名为Zone的表,其中有一列ZoneReferencevarchar(50)notnull作为主键。如果我运行以下查询:select'"'+ZoneReference+'"'asQuotedZoneReferencefromZonewhereZoneReference='WF11XU'我得到以下结果:"WF11XU"注意尾随空格。这怎么可能?如果该行上确实存在尾随空格,那么我希望返回零结果,因此我假设这是SQLServerManagementStudio奇怪地显示的其他内容。在C#代码中调用zoneReference.Trim()将其删除,表明它

c# - LINQ 中的 `from..where` 或 `FirstOrDefault`

传统上,当我尝试从数据库中获取用户数据时,我使用了以下方法(在某种程度上):DbUserscurUser=context.DbUsers.FirstOrDefault(x=>x.u_LoginName==id);stringname=curUser.u_Name;stringemail=curUser.u_Email;你可以看到我想要做的就是获取姓名和电子邮件,但在我看来,这个LINQ查询正在获取存储在该用户数据库中的一切,并将其取回,然后让我得到我想要的。我一直在做一些研究并找到了以下替代方案:varcurrent=fromsincontext.DbUserswheres.u_Log

c# - 运行时的 Expression.Lambda 和查询生成,最简单的 "Where"示例

我试图在运行时生成一个简单的Lambda表达式,但没有成功……就像这样:varresult=queryableData.Where(item=>item.Name=="Soap")这是我的示例类和一个可查询的夹具:publicclassItem{publicintId{get;set;}publicstringName{get;set;}}IQueryablequeryableData=...;然后我在运行时生成一个lambda表达式正确的代码如下://"item"in"item=>..."varitem=Expression.Parameter(typeof(Item),"item"

c# - 两个 C# 扩展泛型方法之间的调用不明确,其中 T :class and other where T:struct

考虑两种扩展方法:publicstaticTMyExtension(thisTo)whereT:classpublicstaticTMyExtension(thisTo)whereT:struct还有一个类:classMyClass(){...}现在在上述类的实例上调用扩展方法:varo=newMyClass(...);o.MyExtension();//compilererrorhere..o.MyExtension();//triedthisaswell-stillcompilererror..当我在一个类上调用它时,编译器说调用该方法是一个不明确的调用。我本以为它可以确定调用哪个

c# - 通用 NOT 约束 where T : ! IEnumerable

根据标题,是否可以在C#4中声明类型否定约束? 最佳答案 不-在C#或CLR中都没有这样的概念。 关于c#-通用NOT约束whereT:!IEnumerable,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8727523/

c# - 如何使用 LINQ 选择 WHERE NOT EXIST?

我必须列出要分配给“员工”的所有“shift”数据,但如果员工数据中已存在轮类数据,则不得包含该数据。让我们看看图像样本。这个查询解决了这个问题。我在这里找到了这个:Scott'sBlogselect*fromshiftwherenotexists(select1fromemployeeshiftwhereshift.shiftid=employeeshift.shiftidandemployeeshift.empid=57);让我们看看结果:现在我的问题是,我怎样才能在linQ中做到这一点?我正在使用EntityFramework。希望有人能帮忙。非常感谢!!!

c# - NHibernate 在 WHERE IN 中使用 QueryOver

我会像这样创建一个QueryOverSELECT*FROMTableWHEREFieldIN(1,2,3,4,5)我已经尝试使用Contains方法但是我遇到了异常"System.Exception:Unrecognisedmethodcall:System.String:BooleanContains(System.String)"这是我的代码varqOver=_HibSession.QueryOver(()=>baseModel).JoinAlias(()=>baseModel.Submodels,()=>subModels).Where(()=>subModels.ID.Cont

c# - Linq where 子句只比较没有时间值的日期值

var_My_ResetSet_Array=_DB.tbl_MyTable.Where(x=>x.Active==true&&x.DateTimeValueColumnx);上层查询工作正常。但我只想检查日期值。但上层查询检查日期+时间值。在传统的mssql中,我可以编写如下查询。SELECT*FROMdbo.tbl_MyTableWHERECAST(CONVERT(CHAR(10),DateTimeValueColumn,102)ASDATE)所以谁能给我建议我如何在Linq中只检查日期值。 最佳答案 EF6.0中还有Entity

c# - Lambda 表达式中的多个 Where 子句

我有一个简单的lambda表达式,它是这样的:x=>x.Lists.Include(l=>l.Title).Where(l=>l.Title!=String.Empty)现在,如果我想在表达式中再添加一个where子句,比如l.InternalName!=String.Empty那么表达式应该是什么? 最佳答案 可以x=>x.Lists.Include(l=>l.Title).Where(l=>l.Title!=String.Empty&&l.InternalName!=String.Empty)或x=>x.Lists.Includ

c# - LINQ 扩展方法 - Any() 与 Where() 与 Exists()

不幸的是,这些方法的名称会成为糟糕的搜索词,而且我一直无法找到一个很好的资源来解释这些方法之间的区别——比如何时使用它们。谢谢。编辑:我试图完全理解的查询类型是这样的:context.Authors.Where(a=>a.Books.Any(b=>b.BookID==bookID)).ToList();感谢所有回答的人。 最佳答案 Where返回与谓词匹配的新项目序列。Any返回一个bool值;有一个带有谓词的版本(在这种情况下它返回是否有任何项目匹配)和一个没有谓词的版本(在这种情况下它返回查询到目前为止是否包含任何项目)。我不确