linq 相关问题

语言集成查询(LINQ)是一种Microsoft .NET Framework组件,它为.NET语言添加了本机数据查询功能。请在适当时考虑使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

循环 ILookup,访问值

我从我完成的一些 linq 中获得了 ILookup< string, List>。 我现在想迭代一下结果: foreach(IGrouping> groupI...

回答 3 投票 0

Linq 删除与另一个列表匹配的记录

我有变量 Reasons,其中数据以逗号分隔(Q12,Q14,.)(包括点)。我有一个列表订单,其中包含订单原因,我想检查并删除该列表,如果订单原因...

回答 1 投票 0

linq:随机排序

我如何更改下面的代码,以便每次从数据库中获取 50 个不同的随机数据? 返回(来自 idb.Exam_Question_Int_Tbl 中的 examQ 其中 examQ.Exam_Tbl_ID==exam_id 选择考试Q).Ord...

回答 4 投票 0

使用 LINQ 查找包含负数和正数的列中负数的平均值

我的数据库中有一个列有正数和负数。 如何求负数的平均值? 公共类 StatsBuilder { 私有 IRepository _statsRepository; 公关...

回答 1 投票 0

如何从重复项目列表中选择最高日期?

您好,我有一个包含重复product_id 的项目的列表。现在我需要使用 C# linq 从给定列表中仅包含最新的 Cycle_end_date 项目创建新列表并删除重复项? 请分享想法

回答 1 投票 0

如何在VB.NET中使用Dapper更新MS Access数据库中的打印总数

我正在尝试使用 VB.NET 中的 Dapper 更新 MS Access 数据库表中的打印总数 每次我在按钮上执行一个事件时,我都想将数字加 1。 我有代码...

回答 1 投票 0

您可以向 linq 搜索添加字符串值吗?

var model = _context.models.AsQueryable().Where(e => e.items.Any() && e.price.Any()); 返回具有任何商品和任何价格的模型,正确,这是有效的。但是,如果有任何值不会

回答 1 投票 0

MS Linq - 具有嵌套外键表的左连接外键表

在运行带有嵌套对象的可能为空外键表的查询时,出现以下错误: “无法从指定的“Then”表达式的 ResultType 推断出有效的 ResultType...

回答 1 投票 0

OrderBy then Select 与 Select then OrderBy 性能

我想弄清楚应该先做什么:OrderBy 或 Select。 我有两个选择。我应该使用哪一个?或者它们是相同的? (我正在使用 c# 12)。 var opt1 = usersArr.OrderBy(u => u.Name)....

回答 1 投票 0

无法将“System.TimeSpan”类型的对象转换为“System.DateTime”类型。尝试从 SQL Server 获取数据时出错

我目前正在开发一个使用 SQL Server 的项目。我正在尝试从 Randevular 表中获取数据。但是当我运行 linq 代码时,它不会给我带来数据。错误提示:“无法投射对象...

回答 1 投票 0

聚合中的迭代器(linq)?

假设我有一个像这样的小整数数组: {10,20,30} 现在,对于该数组的项目,我想应用以下公式: 10^(数组长度-1) + 20^{数组长度-2) + 30^{数组长度-3} 是

回答 4 投票 0

读取 XML 到 linq 对象,然后创建 XML

我有以下 XML: 我有以下 XML: <?xml version="1.0" encoding="UTF-8"?> <pp010 xmlns="http://www.123456768.com/technology"> <rptHdr> <exchNam>MyXML</exchNam> <envText>P</envText> <rptCod>pp010</rptCod> <rptNam>Daily Stock</rptNam> <membLglNam>CompanyA</membLglNam> <rptPrntEffDat>2015-04-14</rptPrntEffDat> <rptPrntRunDat>2015-04-14</rptPrntRunDat> </rptHdr> <pp010Grp> <pp010KeyGrp> <membClgIdCod>HBGKP</membClgIdCod> </pp010KeyGrp> <pp010Grp1> <pp010KeyGrp1> <membExchIdCod>JBGJG</membExchIdCod> </pp010KeyGrp1> <pp010Grp2> <pp010KeyGrp2> <currTypCod>CHF</currTypCod> </pp010KeyGrp2> <pp010Grp3> <pp010KeyGrp3> <acctTypGrp>PP</acctTypGrp> </pp010KeyGrp3> <pp010Rec> <mgnGrpCod> </mgnGrpCod> <mgnClsCod>CSLN </mgnClsCod> <mgnPremiumAmnt>+222926.00</mgnPremiumAmnt> <mgnLiqDlvAmnt>+0.00</mgnLiqDlvAmnt> <mgnSprdAmnt>+0.00</mgnSprdAmnt> <mgnAddlAmnt>+89349.30</mgnAddlAmnt> <unadjMgnReq>+312275.30</unadjMgnReq> </pp010Rec> <pp010Rec> <mgnGrpCod> </mgnGrpCod> <mgnClsCod>CSLM </mgnClsCod> <mgnPremiumAmnt>+55112.00</mgnPremiumAmnt> <mgnLiqDlvAmnt>+0.00</mgnLiqDlvAmnt> <mgnSprdAmnt>+0.00</mgnSprdAmnt> <mgnAddlAmnt>+30854.40</mgnAddlAmnt> <unadjMgnReq>+85966.40</unadjMgnReq> </pp010Rec> 我正在使用以下代码,但似乎无法使用 IEnumerable 中的数据创建 <pp010Rec>... </pp010Rec> public class MarginRep { public string mgnGrpCod { get; set; } public string mgnClsCod { get; set; } public string mgnPremiumAmnt { get; set; } public string mgnLiqDlvAmnt { get; set; } public string mgnSprdAmnt { get; set; } public string mgnAddlAmnt { get; set; } public string unadjMgnReq { get; set; } } private void button1_Click(object sender, EventArgs e) { string file = @"D:\WorkDesktop\VisualStudio\file.xml"; XDocument xmlDoc = XDocument.Load(file); IEnumerable<MarginRep> myMarginRep = from c in xmlDoc.Descendants("pp010Rec") select new MarginRep() { mgnGrpCod = (string)c.Attribute("mgnGrpCod"), mgnClsCod = (string)c.Attribute("mgnClsCod"), mgnPremiumAmnt = (string)c.Attribute("mgnPremiumAmnt"), mgnLiqDlvAmnt = (string)c.Attribute("mgnLiqDlvAmnt"), mgnSprdAmnt = (string)c.Attribute("mgnSprdAmnt"), mgnAddlAmnt = (string)c.Attribute("mgnAddlAmnt"), unadjMgnReq = (string)c.Attribute("unadjMgnReq"), }; } 很抱歉 XML 量很大。我觉得我需要将其显示为我不需要的前几行,并且似乎无法向下导航 <pp010Rec>。 如果您能提供任何帮助,我将不胜感激,如果您能给我指出方向文献,我可以花时间阅读并单独尝试。 干杯, 看来您想要的是值而不是属性,所以更改: mgnGrpCod = (string)c.Attribute("mgnGrpCod"), 致: mgnGrpCod = (string)c.Element("mgnGrpCod").Value, 对其他属性执行相同操作 我稍微改变了.xml: <?xml version="1.0" encoding="UTF-8"?> <pp010 xmlns="http://www.123456768.com/technology"> <rptHdr> <exchNam>MyXML</exchNam> <envText>P</envText> <rptCod>pp010</rptCod> <rptNam>Daily Stock</rptNam> <membLglNam>CompanyA</membLglNam> <rptPrntEffDat>2015-04-14</rptPrntEffDat> <rptPrntRunDat>2015-04-14</rptPrntRunDat> </rptHdr> <pp010Grp> <pp0510KeyGrp> <membClgIdCod>HBGKP</membClgIdCod> </pp0510KeyGrp> <pp010Grp1> <pp010KeyGrp1> <membExchIdCod>JBGJG</membExchIdCod> </pp010KeyGrp1> <pp010Grp2> <pp010KeyGrp2> <currTypCod>CHF</currTypCod> </pp010KeyGrp2> <pp010Grp3> <pp010KeyGrp3> <acctTypGrp>PP</acctTypGrp> </pp010KeyGrp3> <pp010Rec> <mgnGrpCod> </mgnGrpCod> <mgnClsCod>CSLN </mgnClsCod> <mgnPremiumAmnt>+222926.00</mgnPremiumAmnt> <mgnLiqDlvAmnt>+0.00</mgnLiqDlvAmnt> <mgnSprdAmnt>+0.00</mgnSprdAmnt> <mgnAddlAmnt>+89349.30</mgnAddlAmnt> <unadjMgnReq>+312275.30</unadjMgnReq> </pp010Rec> <pp010Rec> <mgnGrpCod> </mgnGrpCod> <mgnClsCod>CSLM </mgnClsCod> <mgnPremiumAmnt>+55112.00</mgnPremiumAmnt> <mgnLiqDlvAmnt>+0.00</mgnLiqDlvAmnt> <mgnSprdAmnt>+0.00</mgnSprdAmnt> <mgnAddlAmnt>+30854.40</mgnAddlAmnt> <unadjMgnReq>+85966.40</unadjMgnReq> </pp010Rec> </pp010Grp3> </pp010Grp2> </pp010Grp1> </pp010Grp> </pp010> 这样你就可以跑了 public class MarginRep { public string mgnGrpCod { get; set; } public string mgnClsCod { get; set; } public string mgnPremiumAmnt { get; set; } public string mgnLiqDlvAmnt { get; set; } public string mgnSprdAmnt { get; set; } public string mgnAddlAmnt { get; set; } public string unadjMgnReq { get; set; } public override string ToString() { return string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}\n{6}", mgnGrpCod, mgnClsCod, mgnPremiumAmnt, mgnLiqDlvAmnt, mgnSprdAmnt, mgnAddlAmnt, unadjMgnReq); } } var xmlDoc = XDocument.Load("1.xml"); XNamespace xn = xmlDoc.Root.Name.Namespace; IEnumerable<MarginRep> myMarginRep = xmlDoc.Root.Descendants(xn + "pp010Rec") .Select(c => new MarginRep() { mgnGrpCod = c.Element(xn + "mgnGrpCod").Value, mgnClsCod = c.Element(xn + "mgnClsCod").Value, mgnPremiumAmnt = c.Element(xn + "mgnPremiumAmnt").Value, mgnLiqDlvAmnt = c.Element(xn + "mgnLiqDlvAmnt").Value, mgnSprdAmnt = c.Element(xn + "mgnSprdAmnt").Value, mgnAddlAmnt = c.Element(xn + "mgnAddlAmnt").Value, unadjMgnReq = c.Element(xn + "unadjMgnReq").Value }); foreach (var x in myMarginRep) Console.WriteLine(x); 打印: CSLN +222926.00 +0.00 +0.00 +89349.30 +312275.30 CSLM +55112.00 +0.00 +0.00 +30854.40 +85966.40 更新: 链接:http://rextester.com/UFLPQ70590 您确实需要执行 JAT 在他的帖子中所说的有关将属性更改为元素的操作,但这并不是不从 XML 创建列表的原因。这是命名空间(“xmlns =”http://www.123456768.com/technology“)给你带来了麻烦。我不确定你的XML文件试图通过拥有它来完成什么,但是如果你删除它并且执行 JAT 建议的操作,您的 IEnumerable 将开始填充。 有关命名空间的更多信息,您可以查看 w3 中的此链接: http://www.w3schools.com/xml/xml_namespaces.asp

回答 3 投票 0

SQLite 无法对“decimal”类型的表达式应用聚合运算符“Sum”。使用 LINQ to Objects 在客户端聚合结果

运行以下代码,出现OrdersPrice=g错误。 Sum (p=>p.TotalPrice) 线,为什么? 我想查询对应订单经理近一个月的销售数据,

回答 2 投票 0

如何使用 System.Data.Entity 创建类似于 [SELECT * FROM "" WHERE "" ] SQL 查询的查询?

例如,我已经有以下查询,效果很好: 公共用户获取(int id) { 返回 userContext.users.Find(id); } 但是我想要一个查询,该查询将返回该对象

回答 1 投票 0

如何合并嵌套列表中的公共项c#

我有以下清单。该列表需要自行组织。具有相同类别名称项目的相同“pname”目录项要合并,并且需要将其作为单个列表,如“

回答 1 投票 0

如何使用 Entity Framework Core 将 STRING_AGG 强制转换为 varchar(max)

我正在尝试使用 C# 中的 Entity Framework Core 和 Linq 来获取查询的以下部分 STRING_AGG(cast(EntityName as varchar(max)), ' , ') AS AllEntityNames 我需要连接所有

回答 1 投票 0

EF Core - 在 C# 方法上过滤查询(缓冲与流式传输)

场景: 我有这样的代码(简化): var query = _context.Products .Where(x => x.IsActive) .Select(x => 新的 ProductDto { Id = x.Id, 姓名 = x.姓名,

回答 1 投票 0

提高我的项目的性能(IEnumerable 与 IQueryable)

我在 ASP.NET MVC 中使用 Telerik 来显示包含结果数据的网格。我们有一个包含近 40 万条记录的数据库,因此我需要确保我的查询尽可能性能友好。 我有...

回答 1 投票 0

LINQ 对列表进行分组并排除包含带有字段值的记录的组

在设置我的 lamda 时遇到问题,以排除具有包含值的字段的记录的组。我的数据示例: CTY ProcId ProcTyp ProcDate ZZZ 23-015 初始化 2023-01-26T20:04:30 ZZZ 23-015 更新

回答 1 投票 0

EF 6 Core IEnumerable<T> 投影到动态对象

我已经为此苦苦挣扎了一天,但我不知道该怎么做: 我有一个 IEnumerable (在步骤中生成的查询),我将其作为参数(就在 where 子句之后)。 巴...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.