Tag: group by

LINQ Group具有多个级别的对象

我有一些类声明如下: public class UserSpend { public string UserName{ get; set; } public MonthSpend[] Spend { get; set; } } public class MonthSpend { public DateTime Month { get; set; } public SpendDetail[] Detail { get; set; } } public class SpendDetail { public string Description { get; set; } public decimal Amount { get; set; […]

NHibernate GroupBy和Sum

我正在开始研究NHibernate,我有一个问题我无法解决,我想知道是否有人可以帮助我。 映射正在“正确”工作但是当我尝试进行分组和求和时,应用程序返回以下错误: “无法解析属性:Course.Price of:Persistence.POCO.RequestDetail” var criteria = session.CreateCriteria(typeof(RequestDetail)) .SetProjection( Projections.ProjectionList() .Add(Projections.RowCount(), “RowCount”) .Add(Projections.Sum(“Course.Price”), “Price”) .Add(Projections.GroupProperty(“Request”), “RequestId”) ) .AddOrder(Order.Asc(“RequestId”)) .SetResultTransformer(Transformers.AliasToEntityMap) .List(); 注1:当我接受代码.Add(Projections.Sum (“Course.Price”), “Price”) ,应用程序会正确地返回结果。 注2:我唯一能做的就是运行下面的代码: query.Length = 0; query.AppendLine(“select”); query.AppendLine(” s.Id,”); query.AppendLine(” s.Identification,”); query.AppendLine(” sum(c.Price) as Total”); query.AppendLine(“from”); query.AppendLine(” Student s”); query.AppendLine(“inner join”); query.AppendLine(” Request r on r.StudentId = s.Id”); query.AppendLine(“inner join “); query.AppendLine(” Requestdetail […]

Group By使用C#LINQ的任一列

我有一组数据,如下所示 OffName,RO1,RO2,RO3 为了进一步解释,我使用如下样本数据: OffName RO1 RO2 RO3 A John Jack Rob B Earl John Carl C Rob Chris Kenny D Rodney Carl Jacob RO代表报告官。 每个官员报告最多3个RO.i需要报告我需要显示RO的分组,无论该人员是RO1或RO2还是RO3。约翰是A级的RO1和B级的RO2,因此,当按照约翰逊的RO分组时,我希望A和B都被选中。对于B级官员来说,Carl是RO3,对于D级官员来说是RO2,所以当由Ro在Carl下分组时,B&D官员都将被选中。 因此,对于按RO分组的上述数据,我希望结果为 RO OffName John AB Jack A Rob AC Earl B Carl BD Chris C Kenny C Rodney D Jacob D 任何帮助都会很棒 谢谢。

从DateTime对象集合中解析每月项目

我之前已经问过这个问题 ,可以收集日期时间对象,并按天和时间对它们进行分组 所以回顾一下:我收集了DateTime的集合 List collectionOfDateTime = GetDateColletion(); 然后通过dayofWeek和时间进行分组 var byDayOfWeek = collectionOfDateTime.GroupBy(dt => dt.DayOfWeek + “-” + dt.Hour + “-” + dt.Minute); 所以在这一点上,我按周分组(一致时间)完美地工作。 我现在有一个新的要求按月而不是按周分组。 当我说“月”时,它不是一个月的同一天,而是像“每个月的第一个星期二” 我试图弄清楚在一个组中使用什么“关键”来对所有符合月度逻辑的项目进行分组(本月的第一个星期二,每个月的第二个星期五等) 举个例子,我可以说这些日期开始了; var date1 = new DateTime(2013, 1, 4).AddHours(8); // This is the first Friday in Jan var date2 = new DateTime(2013, 2, 1).AddHours(8); // This is the first Friday […]

如何在LINQ中执行分组并获取Iqueryable或自定义类对象?

这是我的查询 – var data = Goaldata.GroupBy(c => c.GoalId).ToList(); 这将返回一个Igrouping对象,我想要一个Iqueryable对象,我可以直接查询以获取数据,而在这种情况下,我必须使用foreach()循环,然后获取数据。 是否有另一种在LINQ中分组的方法,它直接作为Iqueryable或List的列表返回,类似于LINQ中的顺序。

LINQ分组数据两次

为可怕的标题道歉,我不太确定如何说出我的问题。 我有一个看起来像这样的对象: CustAcct cust = new CustAcct(); cust.Name = “John Doe”; cust.Account = “ABC123”; cust.OrderTotal = 123.43 cust.OrderQty = 4; cust.TransDate = “12/26/2010 13:00” 请不要花太多时间批评下一部分,因为这真的不涉及购物车/客户的东西,但想法是一样的,我只是想使用每个人都非常熟悉的东西。 一个帐户可以有多个客户,而一个客户可以拥有多个帐户。 所以你有了: List custList = new List(); custList.Add(“John Doe”, “ABC123”, 123.43, 4, “12/26/2010 13:00”); custList.Add(“John Doe”, “ABC123”, 32.12, 2, “12/27/2010 10:00”); custList.Add(“John Doe”, “ABC321”, 43.34, 1, “12/28/2010 15:00”); custList.Add(“John Doe”, […]

LINQ groupby语句带键

我的查询的语法很好但不是输出,这真的很奇怪。 我有下表: | AppointID | UserID | AppointSet | AppointResolved | AppointStatus | AppointmentDatetime | 1 | 1 | 3/1/2011 | 3/1/2011 | 1 | 3/15/2011 | 2 | 1 | 3/2/2011 | 3/5/2011 | 4 | 3/16/2011 | 3 | 1 | 3/2/2011 | 3/11/2011 | 2 | 3/11/2011 | 4 | 1 | […]

如何使用Group by在Linq语句中引入Let关键字

我有以下带有’group by’子句的Linq语句,并且想知道如何引入let或任何其他语句以避免重复子查询lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First()以下示例中的lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First() var completionTimeModels = from timeline in processTimelines group timeline by timeline.LifecycleEventId into grouping select new CompletionTimeViewModel() { // How to avoid repeating the same query to find the life cycle event? Name = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventName, DisplayName = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventDisplayName […]

.GroupBy()是否保证其分组中的顺序?

假设我有一个(有序的)动物序列: 鹰 象 狼蛛 龟 虎 我按第一封信分组: Animals.GroupBy(animal => animal.First()) 结果序列中的IGrouping元素是否与输入序列的顺序相同?

来自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 = ???};