草庐IT

iqueryable

全部标签

.net - XML 序列化 IQueryable<T>/表达式树

是否有任何内置到.NET的类可以转换表达式树或IQueryable到XML? 最佳答案 不直接,不。IQuerable是一个接口(interface),因此,它背后可以有许多实现,每个实现都以不同的方式序列化。也就是说,您可以尝试序列化Expression那IQueryableinterface(IQueryable的基础)通过Expressionproperty暴露.问题是Expression类及其子类不可序列化,因此您必须创建一个结构作为Expression的镜像。类(以及它的所有子类,还有很多),然后将其序列化。幸运的是,有E

c# - 当 dbContext 带有 'using' block 时,如何从 Linq 返回 IQueryable 到 SQL 查询?

我一直在使用“使用”block进行编码,但我想知道我是否可以从以下返回一个IQueryable而无需在我访问它之前处理该对象。publicIQueryableGetContacts(stringclientID){using(dbDataContextdb=newdbDataContext()){varcontacts=from_contactsindb.Contactswhere_contacts.ClientID==clientIDorderby_contacts.LastNameascendingselect_contacts;returncontacts;}}我是简单地删除“u

c# - 如何将 IQueryable 转换为 DataTable

我使用LinQ编写了查询,并使用了CopyToDataTable方法。在那一行显示从我的数据库类型到System.Data.DataRow的隐式转换类型错误。varquery=fromiindbContext.Personaldetailswherei.ID==1selecti;returnquery.CopyToDataTable();有什么建议吗? 最佳答案 CopyToDataTable需要收集DataRow对象。请参阅如何:ImplementCopyToDataTableWheretheGenericTypeTIsNotaD

c# - 哪个更好?在存储库或域级服务(通过 IQueryable 或其他)中有复杂的搜索逻辑吗?

我需要能够通过多个搜索字段搜索客户帐户。现在,我的存储库中有我的搜索逻辑。搜索逻辑包括一些感觉更像是属于域层的过滤,但这意味着使用IQueryable之类的东西,我也不确定我是否喜欢它。例如,现在我有一个搜索类,其中包含用户可以搜索的所有字段:publicclassAccountSearch{publicdecimalAmount{get;set;}publicstringCustomerId{get;set;}publicstringAddress{get;set;}publicstringCustomerName{get;set;}publicstringCity{get;set;

c# - IQueryable<T> 给出的结果与 List<T> 不同

如果我在我的EntityFramework结果中对IQueryable使用Select,我将得到4个项目。如果我在IQueryable.ToList()上使用Select,我会得到所有36个项目。函数代码如下:publicImagesGetModelViewGet(intstart,intcount){if(countImageHandler.MaxResult)count=ImageHandler.MaxResult;IQueryableimagesList=ImagesHandler.FetchRangeScore(start,count).Where(m=>m.Domain==D

c# - 将字符串解析为 LINQ 查询

将LINQ字符串解析为查询的最佳做法是什么方法?或者换句话说,哪种方法最适合转换:stringquery=@"fromelementinsourcewhereelement.Property=""param""selectelement";进入IEnumerable=fromelementinsourcewhereelement.Property="param"selectelement;假设source指的是IEnumerable或IQueryable在本地范围内。 最佳答案 从.NET4.6开始,您可以使用CSharpScrip

c# - LINQ:如何从 IQueryable<T> 中删除元素

如何遍历IQueryable并删除一些我不需要的元素。我正在寻找这样的东西varitems=MyDataContext.Items.Where(x=>x.Container.ID==myContainerId);foreach(Itemiteminitems){if(IsNotWhatINeed(item))items.Remove(item);}这可能吗?提前致谢 最佳答案 你应该可以像这样进一步查询varfiltered=items.Where(itm=>IsWhatINeed(itm));还要注意bool函数的细微变化,从否定

c# - 遍历 NHibernate 实体的 IQueryable 时出现消息 "plan b"的 Antlr 异常

我在尝试实现IQueryable时遇到了一个很奇怪的异常我有表格NHibernate.Linq.Antlr.Runtime.Tree.RewriteEmptyStreamException类型的异常只是说明planb,仅此而已。可以在http://pastebin.com/kR2dvDHd找到详细的异常情况下面是抛出异常的代码:varmatterExtractor=newMatterExtractor();varInactiveMatters=matterExtractor.GetMattersAtStatus(General.InactiveMatterStatus);Assert.

c# - ObjectSet 包装器不适用于 linqToEntities 子查询

为了在密集的数据库使用系统中进行访问控制,我必须实现一个对象集包装器,其中将检查AC。主要目标是进行此更改以保留现有的数据库访问代码,该代码是通过对所有类的实体进行linq实现的(没有集中的数据库层)。创建的ObjectSetWrapper是这样的:publicclassObjectSetWrapper:IQueryablewhereTEntity:EntityObject{privateIQueryableQueryableModel;privateObjectSetObjectSet;publicObjectSetWrapper(ObjectSetobjectSetModels){

c# - 如何为 IQueryable.Count 获取 ToTraceString

我使用((ObjectQuery)IQueryable).ToTraceString()获取和调整将由LINQ执行的SQL代码。我的问题是,与大多数IQueryable方法不同,IQueryable.Count定义如下:publicstaticintCount(thisIQueryablesource){return(int)source.Provider.Execute(Expression.Call(typeof(Queryable),"Count",newType[]{source.ElementType},source.Expression));}执行查询而不编译并返回IQue