Tag: linq

按linq和EF按月排序

我有一个linq查询,里面是月份名称。 我希望按月(1月,2月,3月,…)排序结果。 目前我有以下但它给了我和错误: LINQ to Entities无法识别方法’System.DateTime Parse(System.String)’方法,并且此方法无法转换为存储表达式。 var shockValues = (from s in ctx.Shocks where s.ID == id orderby DateTime.Parse(s.MonthName) select new { val = s.MonthName + “=” + s.ShockValue });

在ASP.NET WebPages中使用带有匿名类的LINQ和隐式类型化数组时出错

我正在尝试使用WebPatrix使用WebPages来模拟页面。 我已经为其中一个PageData键分配了一个隐式类型的匿名对象,但是当我尝试在集合上使用LINQ方法时,我收到以下错误: CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type 以下是一些示例代码: @{ PageData[“Vals”] = new [] { new { ID=1, Quantity=5 }, new { ID=2, Quantity=3 } }; var sum = PageData[“Vals”].Sum(x => x.Quantity); } 如果我首先将数组存储在常规对象中,我可以使用它上面的LINQ方法。 当它作为一个动态对象从PageData出来时似乎有一个问题 – […]

LINQ to XML获取XElement值

我遇到了从LINQ到XML查询返回一些值的问题。 我从SOAP Web服务获取XML并通过它并将其解析为XDocument进行查询 XML: 0 Success true Garden Waste Collection Service RR3 GDN TueFort2 Tuesday 01/04/2014 Recycling Collection Service RR8 REC TueFort2 Tuesday 01/04/2014 Refuse Collection Service RR8 REF TueFort1 Tuesday 08/04/2014 Garden Waste Collection Service RR3 GDN TueFort2 Tuesday 15/04/2014 Recycling Collection Service RR8 REC TueFort2 Tuesday 15/04/2014 Refuse Collection Service RR8 REF TueFort1 […]

为什么Linq包含生成此SQL?

背景:我正在开发一个系统来清理内部客户列表,并找出我们拥有该公司其他人的电子邮件地址的联系人的电子邮件地址。 为了做到这一点,我有(简化)3个表: 联系人 : ID CompanyId Email Domain 电子邮件域名 : ID Domain EmailFormat EmailFormatConfirmed 我有一个手动例程说,给定公司,我找到下一个联系人,我们有他们的域名但不是他们的电子邮件地址: int companyId = 53; var emails = Contacts.Where(p => p.companyId == companyId && p.Email == null && !string.IsNullOrEmpty(p.Domain)).Select(p => p.Domain); var domain = EmailDomains.FirstOrDefault( d => !d.EmailFormatConfirmed && !string.IsNullOrEmpty(d.Domain) && emails.Contains(d.Domain)); 此查询运行速度非常慢,并且检出生成的Sql: — Region Parameters DECLARE @p__linq__0 Int = 53 […]

合并两个xml文件LINQ

我有两个XML文件合并的问题。 我将两个文件加载到两个对象中,找到两个对象中的目标节点并尝试合并。 这是一个示例: var nodes1 = XResult1.Descendants(“subject”); var nodes2 = XResult2.Descendants(“subject”); //nodes1.Add(nodes2.Nodes()); // *合并代码**有人可以帮助我。 提前谢谢…… BB 这是我的XResult1: 你好 你好,我们又见面了 嗨再一次 这是我的XResult2: 你好 再次问好 我的最终结果应该是: 你好 你好,我们又见面了 嗨再一次 你好 再次问好

如何将XML中的数据添加到列表?

我尝试从一个xml文件中读取,但它非常clonky和我得到的很多数据来自一个孩子。 我在一个中得到了姓名,年龄等等,因此我无法将其添加到列表中。 我的xml文件如下所示: 30 Boy Male 28 Girl Female 在我的xaml.cs文件中,我有: List a = new List(); var localFolder = ApplicationData.Current.LocalFolder; XmlDocument xmlDocument; var file = await localFolder.TryGetItemAsync(“FoodData.xml”) as IStorageFile; xmlDocument = await XmlDocument.LoadFromFileAsync(file); 有了这个我需要进行设置,我可以从XML中获取数据并将其放入list如下所示: a.add(listTest {Name = “*DATA FROM XML*”, Age =”*DATA FROM XML*”, Sex=”*DATA FROM XML*”}); 我曾尝试使用LINQ并使用p.NodeName == “xxx”进行搜索,但我似乎没有得到任何数据。 有人可以告诉我如何从我的xml到列表中的数据?

根据列结合两个列表

我正在使用Linq到Sql的两个列表的联合。 使用List1和List2: var tr = List1.Union(List2).ToList(); 联盟工作正常,但问题是检查每一列并删除我想要的一些行。 所以我想知道是否有一种方法可以执行基于一列的联合,比如说每个列表的id ? 就像是: var t = List1.id.Union(List2.id).ToList(); 这不起作用,但我想知道是否有办法用LINQ或T-SQL做到这一点

如何使用Exact数组值而不是包含

我需要使用Equals方法或类似的东西,而不是使用Contains方法,因为我想在数据库中搜索selectedDeviceTypeIDs数组中的确切值而不是任何一个。 IEnumerable selectedDeviceTypeIDs = DeviceTypeIDs .Split(‘,’) .Select( Guid.Parse ) .AsEnumerable(); query = query .Where( j => j.HospitalDepartments.Any( jj => jj.Units.Any( m => m.Devices.Any( w => selectedDeviceTypeIDs.Contains( w.DeviceTypeID ) ) ) ) ); 这是我的完整代码 public HttpResponseMessage GetAvailableHospitalsByAjax(System.Guid? DirectorateOfHealthID = null, System.Guid? UnitTypeID = null, string DeviceTypeIDs = null) { Context db = new Context(); var query […]

LINQ中的GroupBy如何工作?

我最初有一个名为rowsDictionary的<string, List> rowsDictionary 现在,对于该字典的每个键,我按照以下标准对其值列表进行分组: Dictionary<string, List> providerGroups = rowsDictionary.ToDictionary( x => x.Key, v => v.Value.GroupBy(x => new { x.GroupID, x.GroupFin, x.ZipCode }) .Select(x => x.First()) .ToList()); 例如,如果key[“1234”]最初在其值列表中有6个项目,那么现在它可能有两个基于该分组的项目。 我的问题和困惑是其他价值观会发生什么? (这四个)以及将为这组返回的这两个列表的值是什么?

将列表合并为一个

我看到下面的post对我来说真的很难理解。 所以我重新发布它。 对不起,如果有人认为它是重复的。 我只有简单的要求 C#加入/ Linq和Lambda的位置 我有这样的课 public class Person { public int Id{get;set;} public string Name{get;set;} public string MailingAddress{get;set;} } 我有一个像下面这样的方法 public IList GetNames(IList ids) 这将给我下面的人员名单 1“Sam”“” 2“开发”“” 4“哈希” 我有另一种方法,如下所示 public IList GetMailingAddress(IList ids) 这将给我下面的人员名单 1“”“ABC” 6“”“TTT” 2“”“XYZ” 现在我需要合并两个方法的结果,这样我才能得到这样的最终结果 1“Sam”“ABC” 2“Dev”“XYZ” 更新:对不起,我没有明确提供我的测试数据。 请参阅上面的测试数据