草庐IT

where-clause

全部标签

c# - 如何一点一点地建立一个 Linq to Sql where 子句?

正在向我传递参数类中的一组查询字符串参数,用于查询图像数据库。每次调用时,一些参数可能为空。所以在sql中我会像这样构建查询if(parameters.Value1!=null){sql.Append("sql_where_clause");}if(parameters.Value2!=null){sql.Append("sql_where_clause");}我如何使用Linq做同样的事情? 最佳答案 动态构建where-clauses的最佳方法是使用精彩的AlbahariPredicateBuilder.您可以使用它来构建包含O

c# - linq to 实体,where in where 子句? (里面的地方)

我有一个表,该表具有到一个表的一对多映射,该表具有到另一个表的多对多映射。我想执行以下操作:varresults=context.main_link_table.Where(l=>l.some_table.RandomProperty=="myValue"&&l.some_table.many_to_many_table.Where(m=>m.RandomProperty=="myValue"));我怎样才能做到这一点?第一部分会起作用,但在没有“内部WHERE”的情况下尝试时,我无法访问many_to_many_table的属性,但“内部位置”显然无法编译。我基本上想实现类似以下SQ

c# - "where T : somevalue"是什么意思?

whereT:somevalue是什么意思?我刚刚看到一些代码说whereT:Attribute。我认为这与泛型有关,但我不确定这意味着什么或它在做什么。有人知道吗? 最佳答案 这是一个constraintonatypeparameter,表示类型T赋予泛型类或方法的必须继承自类Attribute例如:publicclassFoo:whereT:Attribute{publicstringGetTypeId(Tattr){returnattr.TypeId.ToString();}//..}Foobar;//OK,Descripti

c# - IEnumerable Where() 和 ToList() - 它们的实际作用是什么?

我想知道Where()到底是什么和ToList()方法在做。具体来说,我想知道Where()是否将在内存中创建一个新对象或返回一个新对象。好的,看下面的代码,假设我有一个框架日志类。publicclassLog(){publicstringLog{get;set;}publicstringCreatedByUserId{get;set;}publicstringModifiedUserId{get;set;}}在我的业务逻辑中,假设我只想要由特定用户创建或修改的日志。这将通过以下方法完成:FilterLogsAccordingToUserId().publicIEnumerableFi

c# - "Where are my bytes?"或文件长度特征调查

这是我关于downloadingfilesinchunks问题的延续.解释会很大,所以我会尽量把它分成几个部分。1)我试图做什么?我正在为Window-Phone应用程序创建一个下载管理器。首先我尝试解决下载的问题大文件(解释在上一个问题中)。不,我想添加“可恢复下载”功能。2)我已经做过的事情。目前我有一个运行良好的下载管理器,它可以超越WindowsPhone的RAM限制。这个管理器的特点是,它允许使用HTTPRangeheader下载小块文件。对其工作原理的快速解释:该文件以恒定大小的块下载。我们称这个大小为“delta”。下载文件块后,它以追加模式保存到本地存储(硬盘,在WP上

c# - 为什么具有 "where T : class"约束的 Generic<T> 方法接受接口(interface)

我有这个interface:publicinterfaceITestInterface{intTestInt{get;set;}}和这个通用方法(带有T:class约束):publicvoidTest()whereT:class{//DoSomething}这个电话:Test();一切都编译并运行,同时interface不是class(或者是吗?)。为什么会这样?我第一次看到这个是在我的WCF代理类上:publicpartialclassTestServiceClient:System.ServiceModel.ClientBase,TestNamespace.ITestService

c# - 接口(interface)作为参数或泛型方法与 where - 有什么区别?

有什么区别:publicvoidMethod1(class1c,Tobj)whereT:Imyinterface和publicvoidMethod2(class1c,Imyinterfaceobj)?使用第一种方法有什么好处? 最佳答案 如前所述,void方法在用法上没有太大区别。如果您查看幕后,您会发现使用泛型方法时,.NET将为您调用它的每种类型编译一个单独的方法。这具有在使用结构调用时避免装箱的效果。当您使用返回类型时,会出现很大的不同。publicTMethod1(class1c,Tobj)whereT:IMyInterfa

c# - Where 子句之前的 OrderBy 子句 - 性能?

这个问题在这里已经有了答案:DoestheorderofLINQfunctionsmatter?(7个答案)关闭5年前。我试图了解在像这样的Where子句之前使用OrderBy子句是否会影响性能:Listnames=newList{//...};varns=names.OrderBy(n=>n).Where(n=>n.Length==5);或者编译器会重新安排指令以便Where子句在OrderBy子句之前执行?

c# - 模拟 IRavenQueryable 并附加 Where() 表达式

我正在尝试为一个新的mvc3项目做一些基本的概念类型代码证明。我们将Moq与RavenDB结合使用。行动:publicActionResultIndex(stringid){varmodel=DocumentSession.Query().Where(f=>f.ResponsibleBusinessId==id);returnView(model);}测试:privatereadonlyFixture_fixture=newFixture();[Test]publicvoidIndex_Action_Returns_List_Of_FinancialTransactions_For_B

c# - 如何在 EF Where() 子句中使用 Predicate<T>?

我正在尝试在我的EF过滤代码中使用谓词。这个有效:IQueryablefiltered=customers.Where(x=>x.HasMoney&&x.WantsProduct);但是这个:PredicatehasMoney=x=>x.HasMoney;PredicatewantsProduct=x=>x.WantsProduct;IQueryablefiltered=customers.Where(x=>hasMoney(x)&&wantsProduct(x));运行时失败:TheLINQexpressionnodetype'Invoke'isnotsupportedinLINQt