Tag: linq

LINQ:选择与lst不同并将不同的属性附加到一个中

我有以下问题,我想请求帮助。 我必须选择不同的值(标准由一个属性),然后从其余属性中提取不同的值。 假设我有以下类,其中每个BOM都有一个或多个具有不同Parts和QtyPer 。 例: public sealed class BOM { public string FlatComponent { get; set; } public string Part { get; set; } public string QtyPer { get; set; } public BOM(String flatComponent, String part, String qtyPer) { this.FlatComponent=flatComponent; this.Part=part; this.QtyPer=qtyPer; } } List list=new List(); list.Add(new BOM(“a”, “1”, “2”)); list.Add(new BOM(“a”, “3”, “4”)); […]

如何通过组合重复数据显示为单个对象来显示列表对象中的所有数据?

这是我在文件中的输入商店: 50|Carbon|Mercury|M:4;C:40;A:1 90|Oxygen|Mars|M:10;C:20;A:00 90|Serium|Jupiter|M:3;C:16;A:45 85|Hydrogen|Saturn|M:33;C:00;A:3 这里50,90,90,85表示重量 , M,C,A表示该元素的每一个中的比例。 现在我想从最高到最低显示每个元素(即碳,氧等),如果有多个具有相同权重的元素,将它们分组在一个权重下 , 按行星 (火星,木星)和元素 ( 按字母顺序)按字母顺序排序碳,氧等..) 预期产量 : 1)90 Serium;Jupiter (sorted alphabetically by planet name). compounds:M:3;C:16;A:45 Oxygen;Mars compounds:M:10;C:20;A:00 2)85 Hydrogen;Saturn M:33;C:00;A:3 3)50 Carbon;Mercury M:4;C:40;A:1 这就是我的表现: public class Planets { public int Number { get; set; } //This field points to first cell of every row.output 50,90,90,85 public […]

如何使用动态构建的lambda表达式创建和填充动态对象

我正在尝试从仅在运行时知道的数据集创建和填充动态对象。 在下面的代码中,我使用一些已知字段(ID,主数据,DisplayOrder,IsActive)和一个用户定义字段(电话号码)从我的数据集创建IEnumerable结果,这在设计时我不知道,因此必须动态构建。 下面的代码有效,但仅仅因为我已经对动态字段电话号码进行了硬编码。 如何动态构建Lambda表达式以处理仅在运行时已知的字段。 我想要相当于 string fieldName = ‘PhoneNumber = ‘; string fieldSource = ‘pd.tbList_DataText’; string expression = ‘pd=>new { ID = pd.ID, PrimaryData=pd.PrimaryData’; expression += fieldName; expression += FieldSource; expression += ‘.Where(ld => ld.DataRowID == pd.ID && ld.ListColumnID == 1).Select(ld => ld.DataField).DefaultIfEmpty(“”).First()})’; var results = primaryData.Select(expression); 那我该怎么做呢? 谢谢 // Get base Data IEnumerable primaryData […]

此操作将创建结构不正确的文档

我是XML新手并尝试了以下但我得到了一个例外。 有人能帮我吗? 例外是This operation would create an incorrectly structured document 我的代码: string strPath = Server.MapPath(“sample.xml”); XDocument doc; if (!System.IO.File.Exists(strPath)) { doc = new XDocument( new XElement(“Employees”, new XElement(“Employee”, new XAttribute(“id”, 1), new XElement(“EmpName”, “XYZ”))), new XElement(“Departments”, new XElement(“Department”, new XAttribute(“id”, 1), new XElement(“DeptName”, “CS”)))); doc.Save(strPath); }

Objective-C是否具有像C#一样的列表Lambda查询?

例如,我有一个简单的C#代码块: IList list = new List(); list.Add(“Objective-C”); list.Add(“C#”); list.Add(“C++”); list.Add(“Java”); list.Add(“Python”); var filteredList = list.Where(c => c.Contains(“C”)).ToList(); filteredList只包含“Objective-C” , “C#”和“C ++” 。 我想知道Objective-C是否支持使用像这样的lambda过滤对象列表(NSArray)的任何方法? 谢谢。

按内部列表参数分组以过滤外部列表数据

我是新手编写查询以从对象列表中获取数据。 我有以下阶级结构 public class Locations { public string id { get; set; } public string name { get; set; } public List model { get; set; } public List sectors { get; set; } } public class Sector { public string sectoreid { get; set; } public string sectorname { get; set; } public List […]

GroupBy with Count

我有列表testList返回,它有5个项目与适当的值。 var testList = _context.LectureReportStudent .Include(x => x.LectureReport) .Include(x => x.LectureReport.Lecture) .Include(x => x.Student) .Where(x => stuIds.Contains(x.LectureReport.LectureId)) .Select(x => new StudentModel { Name = x.Student.FirstName + “” + x.Student.LastName, Position = x.Student.JobTitle, JobId = x.LectureReport.LectureId, StudentId = x.StudentlId, LectureId = x.LectureReportId, Date = x.Date }; 我在StudentId上进一步GroupBy这个列表。 var result = testList.GroupBy(x => x.StudentId) 每个项目都有以下型号 Date, DaysOnLecture, […]

在LINQ to Entities查询中不能使用ToString()

所以我有以下代码: string searchQuery = collection[“query”]; var srmas = ( from SRMAs in db.SRMAs join SRMAStatus in db.SRMAStatus on SRMAs.Id equals SRMAStatus.Id join PurchaseOrders in db.PurchaseOrders on SRMAs.PONumber equals PurchaseOrders.PONumber join Suppliers in db.Suppliers on PurchaseOrders.SupplierID equals Suppliers.SupplierID join SRMADetails in db.SRMADetails on SRMAs.Id equals SRMADetails.SRMAId where ids.Contains(SRMAs.Status) && ( searchQuery.Contains(PurchaseOrders.suppliersOrderNumber) || searchQuery.Contains(SRMAs.PONumber.ToString()) ) select new […]

来自LINQ的结果,包括用于TimeSpan,GROUP和JOIN的SUM

我遵循EF模型: 我想在以下视图中获取数据: 在数据实体中,Time是Timespan,以毫秒为单位。 结果, PlaceInStep由StepId放置在成员之间。 如何进行这个难题? 编辑1 : 我的一些代码: var query = from data in ctx.Data join member in ctx.Members on data.MemberId equals member.MemberId join team in ctx.Teams on member.TeamId equals team.TeamId group member by member.TeamId into g select new {TeamId = g.Key, TeamName = g.Select(t=>t.Teams.TeamName), TotalTime = ???};

使用linq将列表或订购日期拆分为几周

假设我在2018年有5个日期[Mar 2,Mar 6, Mar 7, Mar 26]的列表。周六开始,周六结束。 我想要以下结果 [Mar 2] [Mar 6, Mar 7] [Mar 26] 我怎么能用LINQ做到这一点? 或者以function的方式。