在 LINQ 中按特定列分组 [重复]
Posted
技术标签:
【中文标题】在 LINQ 中按特定列分组 [重复]【英文标题】:Group By in LINQ with a particular column [duplicate] 【发布时间】:2016-12-10 02:04:11 【问题描述】:我希望我的数据在 javascript 中,以便它为每个基金创建数组,并且在这些数组中应该有所有日期和金额字段,如
基金名称1 日期金额 日期金额 日期金额
基金名称2 日期金额 日期金额 日期金额
或者我可以将所有数据都扔到 javascript 中,然后使用 javascript 执行此操作吗?如果是,那么如何?
【问题讨论】:
你能澄清你的问题吗?这很难理解。 您应该查阅GroupBy
文档。你问的是一个相当基本的分组。
我在 CSharp 级别拥有此数据,我想将其与 FundName 或 Fund_ID 分组,这样 FundName 只出现一次,并且与该 FundName 相关的所有日期和金额字段都显示在其中
【参考方案1】:
你可以在 C# 中做到这一点。由于每个Fund_ID
都有一个唯一的Fund_Name
,因此按两列分组是安全的:
var grouped = (from f in data
group f by new F.Fund_ID, F.Fund_Name into grouping
select new Class1()
Fund_ID = grouping.Key.Fund_ID,
Fund_Name = grouping.Key.Fund_Name,
Details = grouping.Select(x=> new Class2()
Amount = x.Amount, Date = x.Dated ).ToList()
).ToList();
假设你有类:
public class Class1
public string Fund_ID get; set;
public string Fund_Name get; set;
public List<Class2> Details get; set;
public class Class2
public string Date get; set;
public string Amount get; set;
【讨论】:
是否可以消除“详细信息”? @MaazKhan47 你不想要每个Fund_ID
的金额和日期吗?
好的,知道了。那么在模型中的详细信息应该列出吗?哪种数据类型的列表?
@MaazKhan47 它是在此处现场创建的匿名类型(谷歌以了解更多信息)。您可以创建一个类,但由于您将其传递给 JavaScript,因此他会关心创建一个类:)
如果你能帮助我匿名输入。如何在model中声明ir,然后在Controller中如何使用?以上是关于在 LINQ 中按特定列分组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章