草庐IT

LINQ_ENABLED

全部标签

c# - 使用 linq/Entity Framework 查询多对多关系。代码优先

如何首先使用实体​​框架代码和linq查询多对多关系?问题是EF自动创建关系表。所以,我的上下文中没有它。这是关系模型:我需要一个特定Category_Id的文章列表,基本上复制类似的内容:selecta.Id,a.Title,a.ShortDescriptionfromArticlesajoinCategoryArticlescaonca.Article_Id=a.Idwhereca.Category_Id=@parameter但是我的dbcontext只有:publicDbSetArticles{get;set;}publicDbSetCategories{get;set;}.感谢

c# - LINQ 按时间段聚合和分组

我正在尝试了解如何使用LINQ按时间间隔对数据进行分组;然后理想地聚合每个组。找到大量具有明确日期范围的示例,我尝试按5分钟、1小时、1天等时间段进行分组。例如,我有一个用值包装DateTime的类:publicclassSample{publicDateTimetimestamp;publicdoublevalue;}这些观察结果作为一系列包含在列表集合中:Listseries;因此,为了按小时分组并按平均值汇总值,我正在尝试执行以下操作:vargrouped=fromsinseriesgroupsbynewTimeSpan(1,0,0)intogselectnew{timestam

c# - LINQ 按时间段聚合和分组

我正在尝试了解如何使用LINQ按时间间隔对数据进行分组;然后理想地聚合每个组。找到大量具有明确日期范围的示例,我尝试按5分钟、1小时、1天等时间段进行分组。例如,我有一个用值包装DateTime的类:publicclassSample{publicDateTimetimestamp;publicdoublevalue;}这些观察结果作为一系列包含在列表集合中:Listseries;因此,为了按小时分组并按平均值汇总值,我正在尝试执行以下操作:vargrouped=fromsinseriesgroupsbynewTimeSpan(1,0,0)intogselectnew{timestam

c# - 使用 LINQ 进行字母数字排序

我有一个string[],其中每个元素都以某个数值结尾。string[]partNumbers=newstring[]{"ABC10","ABC1","ABC2","ABC11","ABC10","AB1","AB2","Ab11"};我正在尝试使用LINQ对上述数组进行排序,但我没有得到预期的结果。varresult=partNumbers.OrderBy(x=>x);实际结果:AB1Ab11AB2ABC1ABC10ABC10ABC11ABC2预期结果AB1AB2AB11.. 最佳答案 这是因为字符串的默认排序是标准字母数字字典(

c# - 使用 LINQ 进行字母数字排序

我有一个string[],其中每个元素都以某个数值结尾。string[]partNumbers=newstring[]{"ABC10","ABC1","ABC2","ABC11","ABC10","AB1","AB2","Ab11"};我正在尝试使用LINQ对上述数组进行排序,但我没有得到预期的结果。varresult=partNumbers.OrderBy(x=>x);实际结果:AB1Ab11AB2ABC1ABC10ABC10ABC11ABC2预期结果AB1AB2AB11.. 最佳答案 这是因为字符串的默认排序是标准字母数字字典(

c# - 如何将 LINQ 左外连接限制为一行

我有一个左外连接(如下)按预期返回结果。我需要将“右”表的结果限制为“第一”命中。我能以某种方式做到吗?目前,我得到了两个表中每条记录的结果,无论我在右表(照片)中有多少结果,我只想看到左侧表(项目)中的一个结果。varquery=fromiindb.itemsjoinpindb.photosoni.idequalsp.item_idintotempPhotofromtpintempPhoto.DefaultIfEmpty()orderbyi.datedescendingselectnew{itemName=i.name,itemID=i.id,id=i.id,photoID=tp.P

c# - 如何将 LINQ 左外连接限制为一行

我有一个左外连接(如下)按预期返回结果。我需要将“右”表的结果限制为“第一”命中。我能以某种方式做到吗?目前,我得到了两个表中每条记录的结果,无论我在右表(照片)中有多少结果,我只想看到左侧表(项目)中的一个结果。varquery=fromiindb.itemsjoinpindb.photosoni.idequalsp.item_idintotempPhotofromtpintempPhoto.DefaultIfEmpty()orderbyi.datedescendingselectnew{itemName=i.name,itemID=i.id,id=i.id,photoID=tp.P

c# - 如何使用 IEqualityComparer、LinQ Distinct 从集合中删除重复项

我无法从集合中删除重复项,我已经为类Employee实现了IEqualityComparer,但我仍然没有得到输出staticvoidMain(string[]args){ListEmployeecollection=newList();Employeecollection.Add(newEmploye("abc","def"));Employeecollection.Add(newEmploye("lmn","def"));Employeecollection.Add(newEmploye("abc","def"));IEnumerablecoll=Employeecollectio

c# - 如何使用 IEqualityComparer、LinQ Distinct 从集合中删除重复项

我无法从集合中删除重复项,我已经为类Employee实现了IEqualityComparer,但我仍然没有得到输出staticvoidMain(string[]args){ListEmployeecollection=newList();Employeecollection.Add(newEmploye("abc","def"));Employeecollection.Add(newEmploye("lmn","def"));Employeecollection.Add(newEmploye("abc","def"));IEnumerablecoll=Employeecollectio

c# - Linq 每次迭代选择 5 个项目

这个问题在这里已经有了答案:CreatebatchesinLINQ(22个答案)SplitListintoSublistswithLINQ(34个答案)关闭5年前。Linq根据我们的枚举器每次选择5个项目我们的列表,例如“theList”有100项,想要遍历列表并在每次迭代中选择5个项目,示例代码,我们希望将其更改为我们想要的结果:theList=dt.AsEnumerable().Select(row=>newCustItem{Name=row.Field("tName"),Title=row.Field("tTitle"),}).ToList();我们应该在循环中迭代它并每次处理选