Tag: linq

LINQ分区列表成8名成员列表

如何将一个列表(使用LINQ),并将其分成每8个条目分割原始列表的列表列表? 我想像这样会涉及跳过和/或采取,但我还是相当新的LINQ。 编辑:使用C#/ .Net 3.5 编辑2:这个问题措辞不同于其他“重复”的问题。 虽然问题是相似的,但是这个问题的答案是比较好的:“接受”的答案是非常可靠的(带有yield语句)以及Jon Skeet提出的使用MoreLinq的build议(这在“其他”问题中不被推荐。 )有时重复是好的,因为他们强迫重新检查一个问题。

Linq中的Row_number over(由xxx分区)?

我有一个DataTable这个结构和数据: id | inst | 名称 ———————— 1 | 吉他| 约翰 2 | 吉他| 乔治 3 | 吉他| 保罗 4 | 鼓| 林戈 5 | 鼓| 皮特 我可以像这样检索logging: IEnumerable <Beatle>… class Beatle { int id; string inst; string name; } 我想得到那些演奏不同乐器的人的内在秩序。 在MSSQL我会用 SELECT * ,Row_Number() OVER (PARTITION BY inst ORDER BY id) AS rn FROM […]

List <List <int >>的组合

我有这种types列表>包含这个 List<int> A = new List<int> {1, 2, 3, 4, 5}; List<int> B = new List<int> {0, 1}; List<int> C = new List<int> {6}; List<int> X = new List<int> {….,….}; 我想要所有这样的组合 1-0-6 1-1-6 2-0-6 2-1-6 3-0-6 等等。 根据你是这样可以解决使用Linq?

运算符之间的LINQ

下面的IEnumerabletypes正常工作,但有什么办法像这样的工作与IQueryabletypes的SQL数据库? class Program { static void Main(string[] args) { var items = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, }; foreach (var item in items.Where(i => i.Between(2, 6))) Console.WriteLine(item); } } static class Ext { public static bool Between<T>(this T source, T low, T high) where T : IComparable { […]

如何在LINQ中进行子查询

以下是我试图转换为LINQ的查询的示例: SELECT * FROM Users WHERE Users.lastname LIKE '%fra%' AND Users.Id IN ( SELECT UserId FROM CompanyRolesToUsers WHERE CompanyRoleId in (2,3,4) ) CompanyRolesToUsers和Users之间有FK关系,但它是多对多的关系, CompanyRolesToUsers是交接表。 我们已经build立了大部分网站,而且我们已经使用PredicateExtensions类构buildexpression式,从而完成大部分的过滤工作。 简单的filter的代码看起来像这样: if (!string.IsNullOrEmpty(TextBoxLastName.Text)) { predicateAnd = predicateAnd.And(c => c.LastName.Contains( TextBoxLastName.Text.Trim())); } e.Result = context.Users.Where(predicateAnd); 我试图在另一个表中添加一个谓词。 ( CompanyRolesToUsers ) 我想能够添加的东西是这样的: int[] selectedRoles = GetSelectedRoles(); if( selectedRoles.Length > 0 ) { //somehow […]

使用Lambda / Linq将对象列表sorting

我有一个string中的“按属性sorting”的名称。 我将需要使用Lambda / Linq来sorting对象列表。 例如: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List<Employee> list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if (sortBy == "FirstName") { list = list.OrderBy(x => x.FirstName).toList(); […]

entity frameworkLINQ查询包含()多个子实体

这可能是一个真正的元素问题,但是在编写跨越三个级别(或更多)的查询时包括多个子实体的最好方法是什么? 即我有4个表: Company , Employee , Employee_Car和Employee_Country 公司与员工有1:m的关系。 员工与Employee_Car和Employee_Country都有1:m的关系。 如果我想写一个查询,从所有4个表中返回数据,我正在写: Company company = context.Companies .Include("Employee.Employee_Car") .Include("Employee.Employee_Country") .FirstOrDefault(c => c.Id == companyID); 必须有一个更优雅的方式! 这是漫长的,并产生可怕的SQL 我正在使用VS 2010的EF4

使用LINQ更新集合中的所有对象

有没有办法使用LINQ执行以下操作? foreach (var c in collection) { c.PropertyToSet = value; } 为了澄清,我想遍历集合中的每个对象,然后更新每个对象的属性。 我的用例是我在博客文章上有一堆评论,我想遍历博客文章上的每条评论,并将博客文章的date时间设置为+10小时。 我可以在SQL中完成,但是我想保留在业务层中。

在EF 4.0中将string转换为Int

有没有办法做到这一点? 我在数据库中有一个string字段,我想parsing它到我的LINQ查询中的int属性(是的,它必须在IQueryable级别,而不是在内存中)。 我知道2年前,EF 1.0无法做到这一点(即使LINQ to SQL支持这种基本function),但我只是想知道是否有人提出了一个在这一点上做到这一点? 自定义函数映射? 特殊的语法? 任何东西…. 更新: 我尝试了一个模型定义的函数如下: <Function Name="ConvertToInt32" ReturnType="Edm.Int32"> <Parameter Name="v" Type="Edm.String" /> <DefiningExpression> CAST(v AS INT) </DefiningExpression> </Function> [EdmFunction("Model.Repository", "ConvertToInt32")] public static int ConvertToInt32(string value) { throw new InvalidOperationException("Only valid when used as part of a LINQ query."); } 但似乎并不奏效。 我得到运行时exception: ErrorDescription=Type 'INT' could not be found. Make sure […]

LINQ包含大小写不敏感

这段代码是区分大小写的,如何使它不区分大小写? public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }