草庐IT

LINQ_ENABLED

全部标签

c# - Linq 多重 where 查询

我在构建相当繁重的linq查询时遇到了问题。基本上我有一种情况,我需要在循环中执行子查询以过滤掉从数据库返回的匹配项的数量。示例代码在下面的循环中:foreach(GuidparentinparentAttributes){varsubQuery=fromscindb.tSearchIndexesjoinaindb.tAttributesonsc.AttributeGUIDequalsa.GUIDjoinpcindb.tPeopleIndexesona.GUIDequalspc.AttributeGUIDwherea.RelatedGUID==parent&&userId==pc.CP

c# - OData Linq 到查询字符串

我正在使用具有OData查询支持(睡衣)的WebAPI,虽然我知道WCF库使您能够查询WCFRIA服务URL,但我正在寻找的是一种生成Odata查询的轻量级方法字符串有点像LinqPad,但更通用。例如,如果我们知道服务返回特定类型的“ProductDTO”,我希望能够执行如下操作:(frompinODataSourcewherep.Name=="hi"selectnew{p.Model,Name}).ToODataQuery();这会将适当的$filter和$select命令作为可以附加到URL的字符串返回。任何人都知道任何图书馆可以做这样的事情吗? 最佳

c# - Linq running total 第一个值添加到自身

我有下面的计算客户帐户状态的运行总计,但是他的第一个值总是添加到自身,我不确定为什么-虽然我怀疑我错过了一些明显的东西:decimal?runningTotal=0;IEnumerablestatement=sage.Repository().Queryable().Where(x=>x.CustomerAccountNumber==sageAccount).OrderBy(x=>x.UniqueReferenceNumber).AsEnumerable().Select(x=>newStatementModel(){SLAccountId=x.CustomerAccountNumbe

c# - LINQ 在 Take 之后继续

假设我们有一个IEnumerablestuff;有没有一种简洁的方法可以在不重新计算的情况下取n个元素,然后再取m个元素?示例代码:stuff.Take(10);stuff.Skip(10).Take(20);//re-evaluatesstuff我在想的可能是这个(不是工作代码)varit=stuff.GetEnumerator();it.Take(10);it.Take(20);编辑以增加难度并澄清我想要完成的事情的复杂性:我想在Take之后继续查询,即it.Take(10);varcont=it.Select(Mutate);cont.Take(20);cont=cont.Whe

c# - Linq 和相等运算符 : Expression of type 'System.Int32' cannot be used for parameter of type 'System.Object'

我试图重写C#中的相等(==)运算符来处理任何类型与自定义类型的比较(自定义类型实际上是null周围的包装器/框)。所以我有这个:internalsealedclassNothing{publicoverrideboolEquals(objectobj){if(obj==null||objisNothing)returntrue;elsereturnfalse;}publicstaticbooloperator==(objectx,Nothingy){if((x==null||xisNothing)&&(y==null||yisNothing))returntrue;returnfal

c# - Linq 到实体 : Unions + Distinct

我不知道如何用不同的方式进行多个联合。当我将.Distinct与IEqualityComparer一起使用时,抛出异常:LINQtoEntitiesdoesnotrecognizethemethod'System.Linq.IQueryable'我的代码是varunion=query.Union(query1).Union(query2);union=union.Distinct(newEqualityComparerTransaction()); 最佳答案 LINQtoEntities不支持采用IEqualityComparer的

c# - LINQ to SQL - 如何高效地对多个条件执行 AND 或 OR 搜索

我有一个ASP.NETMVC站点(它使用LinqToSql作为ORM),并且客户想要一个针对定制数据库的搜索工具,他们可以选择进行“AND”搜索(所有条件匹配)或“或”搜索(任何条件匹配)。该查询非常复杂且冗长,我想知道是否有一种简单的方法可以使它同时执行这两项操作,而无需创建和维护两个不同版本的查询。例如,当前的“AND”搜索看起来像这样(但这是一个大大的简化版本):privateIQueryableGetSampleSearchQuery(SamplesCriteriacriteria){varresults=fromrinTablewhere(r.Id==criteria.Sam

C# 单元测试 - 生成模拟 DataContexts/LINQ -> SQL 类

我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)

c# - 如何在运行时从文本构建 LINQ 查询?

我有一个classA{publicintX;publicdoubleY;publicstringZ;//andmorefields/properties...};和一个Listdata并且可以构建一个linq查询,例如varq=fromaindatawherea.X>20selectnew{a.Y,a.Z};然后dataGridView1.DataSource=q.ToList();在我的DataGridView中显示选择。现在的问题是,是否可以根据用户在运行时输入的文本构建查询?喜欢varq=QueryFromText("fromaindatawherea.X>20selectnew

c# - Entity Framework 4 中的简单条件 LINQ 查询

我最近将这段代码迁移到了EntityFramework4,但失败了。显然,如果status没有值,则返回所有匹配项,如果它有值匹配user.StatusID==1。returnusers.SingleOrDefault(user=>user.Username==username&&user.EncryptedPassword==password&&(!status.HasValue||user.StatusID==1));异常返回:ArgumentException:Thespecifiedvalueisnotaninstanceoftype'Edm.Int32'Parameterna