Tag: linq

Linq按日期获取客户组,然后按类型分组

我正在制作报告,以便在C#中使用LINQ显示客户。 我想表明不。 每种类型的客户。 有3种类型的客户注册,客人和经理。 我希望按客户的注册日期和客户类型进行分组。 即如果今天有3位客人,4位注册人员和2位经理人员。 明天4,5和6是注册的。 然后报告应显示当天注册的客户数量。 每种类型的单独行。 DATE TYPEOF CUSTOMER COUNT 31-10-2013 GUEST 3 31-10-2013 REGISTERED 4 31-10-2013 MANAGER 2 30-10-2013 GUEST 5 30-10-2013 REGISTERED 10 30-10-2013 MANAGER 3 像这样 。 var subquery = from eat in _customerRepo.Table group eat by new { yy = eat.CreatedOnUTC.Value.Year, mm = eat.CreatedOnUTC.Value.Month, dd = eat.CreatedOnUTC.Value.Day } […]

通过等待每个任务异步转换IEnumerable <Task >

今天我想知道如何通过等待每个任务来转换任务列表。 请考虑以下示例: private static void Main(string[] args) { try { Run(args); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); Console.ReadLine(); } } static async Task Run(string[] args) { //Version 1: does compile, but ugly and List overhead var tasks1 = GetTasks(); List gainStrings1 = new List(); foreach (Task task in tasks1) { gainStrings1.Add(await task); } Console.WriteLine(string.Join(“”, […]

使用Linq进行动态过滤

我有一个List 。 在Device类中有4个属性,即Name , OperatingSystem , Status和LastLoggedInUser 。 我需要写一个方法: IQueryable FilterDeviceList( List Devices, List filter, string filterValue) 其中filter将包含用于过滤”name” , “os”选项,以指示要包含在搜索中的字段。 如果传递”all”则需要包括所有4个字段。 filtervalue将包含要过滤的值,如”windows” , “Calvin” 。 谁能建议一种方法来实现这一目标? 编辑: 如果我不清楚,我做的过滤有点像这样,它是我需要代码的注释部分。 if(filter.contains(name)) { //filter with name } if( filter.contains(both name and os) { // I only need the filter value to contain in name or OS (only needed […]

我可以使用Linq的Except()和lambda表达式比较器吗?

我知道我可以调用linq的Except并指定一个自定义的IEqualityComparer,但是为每个数据类型实现一个新的Comparer类似乎是一种过度的方法。 我可以使用lambda表达式来提供相等的函数,就像我使用Where或其他LINQ函数一样吗? 如果我不能,还有其他选择吗?

针对MS Access的LINQ asp.net页面。

我有一个ASP.Net页面使用ADO来查询MS访问数据库,作为一个学习练习我想要合并LINQ。 我有一个名为Quotes的简单表。 字段是:QuoteID,QuoteDescription,QuoteAuthor,QuoteDate。 我想运行简单的查询,例如“1995年之后给我所有引号”。 我如何将LINQ合并到这个ASP.Net站点(C#) 基本上,我的问题是LINQ是否适用于MS Access?

linq to sql startwith performance索引列

我首先使用实体​​代码。 索引列: SourceCatalogId 残 CategoryPath 表中有40 000行, 我的问题是查询需要40s !! var result = DBContext.Set() .Include(x => x.SalesHistories, x => x.SourceCatalog) .Where(p => p.SourceCatalogId == 2) .where(p => p.Disabled == false) .where(x => x.CategoryPath.StartsWith(“MyPath”)) .orderby(x => x.ShortDesignation) .Skip(1) .Take(10) .toList(); SQL通过sql profiler: exec sp_executesql N’SELECT TOP (10) [Project1].[SourceProductId] AS [SourceProductId], [Project1].[SourceSKU] AS [SourceSKU], [Project1].[SourceCatalogId] AS [SourceCatalogId], [Project1].[ManufacturerReference] […]

如何在Linq to Entities查询中调用本地方法?

我有以下代码: public void SalesCount(string customerId) { .. .. return …; } var resultQuery = dataContext.Customers .Where (c => c.Name == “Alugili”) .Where (c => SalesCount(c.CustomerId) < 100); 当我执行resultQuery时,我得到了一个SQLexception的翻译。 我需要在我可以做的地方调用SalesCount这是否有解决此问题的方法!

按DocumentDB中的字段分组

是否有可能以某种方式对DocumentDB中的字段进行分组,是否存储过程? 假设我有以下集合: [ { name: “Item A”, priority: 1 }, { name: “Item B”, priority: 2 }, { name: “Item C”, priority: 2 }, { name: “Item D”, priority: 1 } ] 我想获得最高优先级组中的所有项目(在这种情况下优先级为2)。 我不知道最优先的是什么价值。 即: [ { name: “Item B”, priority: 2 }, { name: “Item C”, priority: 2 } ] 使用一些粗略的LINQ,它看起来像这样: var highestPriority = […]

我可以在Linq to SQL中使用C#字符串插值

在使用EF(至少达到6.1.3版本)时,假设您有这样的类: class Customer { public string FirstName { get; set; } public string LastName { get; set; } } 如果要获取一个字段FullName ,它是两个( FirstName和LastName )的串联作为查询结果中的字段,您必须执行以下操作: db.Customers.Select(c => new { FullName = c.FirstName + ” ” + c.LastName }) 既然在C#中有字符串插值 ,你可以做这样的事情 db.Customers.Select(c => new { FullName = $”{c.FirstName} {c.LastName}” }) 这似乎是一个微不足道的例子(它是),但问题仍然存在。 我是否可以开箱即用,我是否需要制定一些技巧才能使其正常工作或确定它不起作用?

LINQ副作用

是否有可能用LINQ( .Select)的lambda表达式替换foreach循环? List l = {1, 2, 3, 4, 5}; foreach (int i in l) Console.WriteLine(i); 至: List l = {1, 2, 3, 4, 5}; l.Select(/* print to console */);