草庐IT

dynamic-linq

全部标签

c# - 如何将这些 LINQ 结果加载到我的 ViewModel 类中?

我有一个LINQ查询,它返回与我的PictureGallery类匹配的结果。我需要将它们加载到我的ViewModel但我收到以下错误:Cannotimplicitlyconverttype'System.Linq.IQueryable'to'System.Collections.Generic.IEnumerable'.Anexplicitconversionexists(areyoumissingacast?)我是C#的新手。如何将“结果”转换到我的“PictureGallery”viewmddel类中?提前致谢!Controller://TestMediaIDvarMediaID=

c# - 使用 LINQ 选择一行中的多个元素

我的代码如下varusers=MyTable.AsEnumerable().Select(x=>new{x.Field("Col1"),x.Field("Col2")}).ToList();在编译时我得到Invalidanonymoustypememberdeclarator.Anonymoustypemembersmustbedeclaredwithamemberassignment,simplenameormemberaccess. 最佳答案 需要给匿名类型的每个字段起一个名字varusers=MyTable.AsEnumera

c# - Parallel Linq - 使用比处理器更多的线程(对于非 CPU 绑定(bind)任务)

我正在使用并行linq,我正在尝试使用如下基本代码同时下载许多url:intthreads=10;Dictionaryresults=urls.AsParallel(threads).ToDictionary(url=>url,url=>GetPage(url);由于下载网页受网络限制而不是CPU限制,因此使用比我的处理器/内核数量更多的线程是非常有益的,因为每个线程的大部分时间都花在等待网络catch。然而,根据在我的双核机器上运行threads=2与threads=10具有相同性能的事实判断,我认为发送到AsParallel的线程数受限于核心数。有什么方法可以覆盖这种行为吗?是否有

c# - Linq 方法

Linq通常具有扩展方法(在IEnumerable中),如Where、Select、OrderBy。但是使用其他方法,如string.StartsWith。在哪里可以找到LinqtoSQL和LinqtoEntities支持的所有方法的列表? 最佳答案 下面列出了LINQtoentities所有支持的方法:SupportedandUnsupportedLINQMethods(LINQtoEntities) 关于c#-Linq方法,我们在StackOverflow上找到一个类似的问题:

c# - 简单的 Linq 表达式无法编译

有了这些基本定义boolMyFunc(stringinput){returnfalse;}varstrings=new[]{"aaa","123"};我想知道为什么这不会编译:varb=strings.Select(MyFunc);但这将:varc=strings.Select(elem=>MyFunc(elem));错误消息是“无法从用法中推断方法‘System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)’的类型参数。”Resharper错误提示说它混淆了Select(thisI

c# - LINQ:基于子列表中的属性分组

我正在尝试使用LINQ创建基于元数据的文档分组列表,元数据是文档上的列表。下面是我的对象结构:List-->List-->Metadatahasanameandavalueproperty.我想根据名称为ID的元数据标签对文档进行分组,并在ID属性值相同的地方对它们进行分组。我试过这样的:varx=response.Document.GroupBy(d=>d.Metadata.Where(dc=>dc.Name==DocProperty.ID).Select(dc=>dc.Value));这会生成单个文档的列表,但不会按ID分组。还考虑过选择一个不同的ID列表,然后循环遍历文档列表并找

c# - LINQ GroupBy 连续时间

假设我有一个看起来像这样的简单结构:publicclassRange{publicDateTimeStart{get;set;}publicDateTimeEnd{get;set;}publicRange(DateTimestart,DateTimeend){this.Start=start;this.End=end;}}然后我像这样创建一个集合:vardr1=newRange(newDateTime(2011,11,1,12,0,0),newDateTime(2011,11,1,13,0,0));vardr2=newRange(newDateTime(2011,11,1,13,0,0

c# - 开始使用 Linq,我需要什么?

基本上就是标题所说的。(原谅我,因为我是.NET新手)在我的部门,我们有一台运行.net3.5的服务器,自从我进入这个部分以来,我一直在使用LINQ。但是,我正在另一台服务器上开始一个个人项目(很明显),所以有2个问题:启动和运行LINQ需要什么?服务器运行LINQ需要什么?.net2.0可以在服务器上运行吗?如果重要的话,背后的代码将是C#。编辑:我必须在3.5中编译它还是2.0可以工作? 最佳答案 要启动并运行,我绝对建议您查看LINQinAction.您的编译器需要是.NET3.5framework.如果您只复制编译后的代码,

c# - 连接两个表后访问所有数据并使用 linq 对它们进行分组

我有两张tableTableAaIdaValueTableBbIdaIdbValue我想通过aId加入这两个表,并从那里按bValue对它们进行分组varresult=fromaindb.TableAjoinbindb.TableBona.aIdequalsb.aIdgroupbbyb.bValueintoxselectnew{x};我的代码无法识别组后的连接。换句话说,分组有效,但联接无效(或者至少我不知道如何在联接后访问所有数据)。 最佳答案 group和by之间的表达式创建组元素。varresult=fromaindb.Tab

c# - 我可以将 C# 字符串插值与 Linq to SQL 一起使用吗

在使用EF(至少达到6.1.3版)时,假设您有这样一个类:classCustomer{publicstringFirstName{get;set;}publicstringLastName{get;set;}}如果您要获取一个字段FullName,它是(FirstName和LastName)的串联作为查询结果中的字段,您将必须做这样的事情:db.Customers.Select(c=>new{FullName=c.FirstName+""+c.LastName})既然C#中有StringInterpolation,你能不能做这样的事情呢db.Customers.Select(c=>ne