Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

12
使用LINQ对对象进行分页
您将如何在LINQ查询中实现分页?实际上暂时来说,如果可以模仿sql TOP函数,我会感到满意。但是,我确信无论如何稍后都需要全面的页面支持。 var queryResult = from o in objects where ... select new { A = o.a, B = o.b } ????????? TOP 10????????
90 c#  .net  linq  paging 

4
表达式树lambda不得包含空传播运算符
问题:price = co?.price ?? 0,以下代码中的行给了我上面的错误。但是如果我?从中删除,co.?效果很好。我试图按照此MSDN例如,他们使用的是?上线select new { person.FirstName, PetName = subpet?.Name ?? String.Empty };所以,看来我需要了解什么时候使用?与??和何时不。 错误: 表达式树lambda不得包含空传播运算符 public class CustomerOrdersModelView { public string CustomerID { get; set; } public int FY { get; set; } public float? price { get; set; } .... .... } public async Task<IActionResult> ProductAnnualReport(string rpt) { …

6
如何在LINQ Lambda中的多个表之间执行Join
我试图在LINQ中的多个表之间执行联接。我有以下课程: Product {Id, ProdName, ProdQty} Category {Id, CatName} ProductCategory{ProdId, CatId} //association table 我用下面的代码(其中product,category和productcategory是在上述类的实例): var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc}) .Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new { productproductcategory = ppc, category = …

7
linq查询以从对象列表中返回不同的字段值
class obj { int typeId; //10 types 0-9 string uniqueString; //this is unique } 假设存在一个列表,其中包含obj的100个元素,但只有10个唯一的typeID。 是否可以编写LINQ查询以从objs列表中返回10个唯一的整数?
89 c#  linq 

12
LINQ中的LIKE运算子
有没有办法像SQL一样比较C#LINQ表达式中的字符串 LIKE运算符? 假设我有一个字符串列表。在此列表中,我想搜索一个字符串。在SQL中,我可以这样写: SELECT * FROM DischargePort WHERE PortName LIKE '%BALTIMORE%' 而不是上面的查询需要一个linq语法。 using System.Text.RegularExpressions; … var regex = new Regex(sDischargePort, RegexOptions.IgnoreCase); var sPortCode = Database.DischargePorts .Where(p => regex.IsMatch(p.PortName)) .Single().PortCode; 我上面的LINQ语法不起作用。我怎么了?
88 c#  linq  sql-like 

3
LINQ to Entities无法识别方法'System.String Format(System.String,System.Object,System.Object)'
我有这个linq查询: private void GetReceivedInvoiceTasks(User user, List<Task> tasks) { var areaIds = user.Areas.Select(x => x.AreaId).ToArray(); var taskList = from i in _db.Invoices join a in _db.Areas on i.AreaId equals a.AreaId where i.Status == InvoiceStatuses.Received && areaIds.Contains(a.AreaId) select new Task { LinkText = string.Format(Invoice {0} has been received from {1}, i.InvoiceNumber, i.Organisation.Name), …

3
Queryable.SelectMany()方法有C#LINQ语法吗?
使用C#LINQ语法编写查询时,是否可以通过关键字语法使用Queryable.SelectMany方法? 对于 string[] text = { "Albert was here", "Burke slept late", "Connor is happy" }; 使用流利的方法,我可以查询 var tokens = text.SelectMany(s => s.Split(' ')); 是否有类似于的查询语法 var tokens = from x in text selectmany s.Split(' ')
88 c#  linq  keyword  iqueryable 

12
使用LINQ搜索树
我有一个从此类创建的树。 class Node { public string Key { get; } public List<Node> Children { get; } } 我想搜索所有孩子及其所有孩子,以找到符合条件的孩子: node.Key == SomeSpecialKey 我该如何实施?
87 c#  .net  linq 

3
忽略LINQ to XML中的名称空间
我如何拥有LINQ to XML iqnore所有名称空间?或者,如何删除命名空间? 我问是因为名称空间是以半随机方式设置的,我已经厌倦了必须搜索具有和不具有名称空间的节点。
87 .net  xml  linq 

5
如何使用LINQ异步等待任务列表?
我有一个这样创建的任务列表: public async Task<IList<Foo>> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); ... } 通过使用.ToList(),任务应该全部开始。现在,我要等待其完成并返回结果。 这在上面的...块中有效: var list = new List<Foo>(); foreach (var task in tasks) list.Add(await task); return list; 它可以满足我的要求,但是看起来很笨拙。我宁愿这样写一些简单的东西: return tasks.Select(async task => await task).ToList(); ...但是不能编译。我想念什么?还是不可能以此方式表达事物?
87 c#  linq  async-await 

7
在Linq Select中创建元组
我正在使用C#和.NET Framework 4.5.1,使用Entity Framework 6.1.3从SQL Server数据库中检索数据。 我有这个: codes = codesRepo.SearchFor(predicate) .Select(c => new Tuple<string, byte>(c.Id, c.Flag)) .ToList(); 当我运行它时,我收到以下消息: LINQ to Entities仅支持无参数构造函数和初始化程序。 我不知道如何创建元组,因为我发现的所有示例大多都与此类似。 我已经试过了: codes = codesRepo.SearchFor(predicate) .Select(c => Tuple.Create(c.Id, c.Flag)) .ToList(); 并得到这个错误: LINQ to Entities无法识别方法'System.Tuple`2 [System.String,System.Byte] Create [String,Byte](System.String,Byte)'方法,并且该方法无法转换为商店表达式。 哪里有问题?

7
从C#网站获取HTML代码
如何从网站获取HTML代码,保存它并通过LINQ表达式查找一些文本? 我正在使用以下代码来获取网页的来源: public static String code(string Url) { HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); return result; } 如何在网页源代码的div中查找文本?
87 c#  html  linq 

10
使用Linq to Entities的“ Contains()”解决方法?
我正在尝试创建一个查询,该查询使用Silverlight ADO.Net数据服务客户端api(并因此使用Linq To Entities)在where子句中使用ID列表。有人知道不支持“包含”的解决方法吗? 我想做这样的事情: List<long?> txnIds = new List<long?>(); // Fill list var q = from t in svc.OpenTransaction where txnIds.Contains(t.OpenTransactionId) select t; 试过这个: var q = from t in svc.OpenTransaction where txnIds.Any<long>(tt => tt == t.OpenTransactionId) select t; 但是得到了“不支持方法'Any'”。

4
linq的let关键字是否比它的into关键字好?
我目前正在重新学习LINQ,并试图理解let和使用into关键字之间的区别。到目前为止,就我的理解而言,该let关键字似乎比该into关键字更好。 该into关键字基本上可以让一个投影后继续查询。(只想明确指出,我不是在指代组联接。) 给定一组名称,它允许执行以下操作: var intoQuery = from n in names select Regex.Replace(n, "[aeiou]", "") into noVowel where noVowel.Length > 2 select noVowel; 它需要选择的结果,并将其放置到noVowel变量,然后允许一个引入额外的where,orderby和select条款。一旦noVowel变量被创建,该n变量不再可用。 该let关键字,而另一方面,使用温度匿名类型,让你在同一时间重复使用一个以上的变量。 您可以执行以下操作: var letQuery = from n in names let noVowel = Regex.Replace(n, "[aeiou]", "") where noVowel.Length > 2 select noVowel; 无论是noVowel和n变量都可以使用(尽管我没有在这种情况下使用它)。 虽然我可以看到区别,但是我不能完全理解为什么要使用该into关键字而不是该let关键字,除非有人明确希望确保先前的变量不能在查询的后半部分使用。 那么,这两个关键字同时存在有充分的理由吗?
86 c#  linq 

3
LINQ是否可以与IEnumerable一起使用?
我有一个实现IEnumerable但没有实现的类IEnumerable<T>。我不能更改此类,也不能使用其他类代替它。正如我从MSDN所了解的,如果使用类实现,则可以使用LINQIEnumerable<T>。我尝试使用instance.ToQueryable(),但是它仍然不启用LINQ方法。我肯定知道该类只能包含一种类型的实例,因此该类可以实现IEnumerable<T>,但事实并非如此。那么,如何使用LINQ表达式查询此类?
86 .net  linq  ienumerable 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.