Tag: linq

如何使用LINQ合并树(和总和计数)?

说我有这些课程: public class Option { public int OptionID { get; set; } public bool IsSelected { get; set; } } public class Product { public int ProductID { get; set; } public int Quantity { get; set; } public List Options { get; set; } } 假设在将一些Product对象添加到List之后,这将是我的结果 2x Product 1 OptionID 1 OptionID 1 OptionID […]

LINQ ExecuteQuery – 错误

我有Executequery的问题:错误消息:“指定的强制转换无效”。 我试过了: var qq = db.ExecuteQuery(query, ddl4, ddl5, ddl1).ToList(); 但同样的错误也是如此。 我在几个方面尝试过。 总是这个错误或“查询结果不能多​​次枚举”,当我尝试做IEnumerable时。 我读了很多文章,但我不知道怎么做。 我做错了什么,或者错过了什么? public class class_search { public string path_image { get; set; } public string name_product { get; set; } public float cost { get; set; } } public partial class Search : System.Web.UI.Page { DataClasses1DataContext db = new DataClasses1DataContext(); string ddl4 = […]

保存到xml文档

我正在“ 试图 ”弄清楚如何创建Windows Phone 7应用程序 ,我想用以下函数更新/保存xml文件: XDocument xmlDoc = XDocument.Load(“myApp.xml”); xmlDoc.Element(“ocd”).Add(new XElement(“vDetails”, new XElement(“itemName”, this.tb_Name.Text), new XElement(“Date”, System.DateTime.Now.ToString()), new XElement(“itemValue”, “”))); xmlDoc.Save(“data.xml”); 但是xmlDoc.Save行给出错误:“System.Xml.Linq.XDocument.Save(System.Xml.XmlWriter)”的最佳重载方法匹配具有一些无效参数。 我需要做些什么才能纠正这个问题?

列出“X”列表的串联

我有例如5列出所有相同的类型。 我能做到吗? List newset = List1.Concat(List2).Concat(List3).Concat(List4)…..

如何使用LINQ2SQL连接两个不同上下文的表?

我的应用程序中有2个数据上下文(不同的数据库),并且需要能够在上下文中查询上下文中的表,并在上下文中的表上使用右连接。如何在LINQ2SQL中执行此操作? 为什么?:我们正在使用SaaS产品来跟踪我们的时间,项目等,并希望向此产品发送新的服务请求,以防止我们的团队重复数据输入。 上下文A:此数据库存储服务请求信息。 它是第三方数据库,我们无法对此数据库的结构进行更改,因为它可能会在下游产生意外的不可支持的后果。 上下文B:该数据存储已处理的服务请求的“日志”数据。 我和我的团队可以完全控制这个数据库的结构等。未经处理的服务请求应该进入这个数据库,另一个进程会将其识别为未处理并将记录发送到SaaS产品。 这是我要修改的查询。 我最初能够做一个!list.Contains(c.swHDCaseId),但这不能处理超过2100项。 有没有办法将连接添加到其他上下文? var query = (from c in contextA.Cases where monitoredInboxList.Contains(c.INBOXES.inboxName) //right join d in contextB.CaseLog on d.ID = c.ID…. select new { //setup fields here… });

是否有更好的方法来获取每个项与谓词匹配的子序列?

说我有一个IEnumerable。 例如,{2,1,42,0,9,6,5,3,8}。 我需要获得与谓词匹配的项目的“运行”。 例如,如果我的谓词是 bool isSmallerThanSix(int number){…} 我想获得以下输出:{{2,1},{0},{5,3}} 是否有内置function可以实现这一目标? 到目前为止我有这个: public static IEnumerable<IEnumerable> GetSequences(this IEnumerable source, Func selector) { if (source == null || selector == null) { yield break; } IEnumerable rest = source.SkipWhile(obj => !selector(obj)); while (rest.Count() > 0) { yield return rest.TakeWhile(obj => selector(obj)); rest = rest .SkipWhile(obj => selector(obj)) .SkipWhile(obj => […]

使用LINQ查询对内部中继器进行排序

我试图列出一组关联,每个关联中都有一个分配给关联的“窗口小部件”。 该列表将包括关联名称和分配给它的任何小部件。 问题是内部窗口小部件列表需要按DisplaySequence排序。 EDMX模型如下: 简化的中继器标记 <div data-type="assn" id="”> – <asp:Repeater runat="server" ID="rptWidgets" DataSource="” > <li id="”> 当前查询 var associations = (from a in context.Associations.Include(“AssociationWidgets”) .Include(“AssociationWidgets.Widget”) orderby a.Acronym select a).ToList(); rptAssociations.DataSource = associations; rptAssociations.DataBind(); 我现在能够通过我现在的设置获取我正在寻找的数据。 我正在寻找获得相同数据的最有效方法,但是,以正确的显示顺序列出小部件。 我应该采用不同的linq查询方法吗?

如果LINQ中的列为空,如何忽略’where’和’order by’条件

我有事务对象列表,并希望根据用户当前查看的视图按特定条件对它们进行排序。 我遇到的问题是,为了在where子句中添加条件,首先我需要检查它是否为null以防止空指针exception。 这会导致过滤掉列null的记录(我希望将它们包含在列表的底部)。 我如何修改查询,以便它忽略条件(where和order by),如果该列为null并仍然将它们附加到结果集? 这是一个示例查询: transactions = transactions .Where(t => t.PurchaseRequisition != null && t.Award != null && t.PurchaseRequisition.RequisitionedBy != null) .OrderBy(t => t.Award.ContractNumber). ThenBy(t => ToSafeString(t.Award.ContractNumber)). ThenBy(t => ToSafeString(t.PurchaseRequisition.RequisitionedBy.FullName)); public string ToSafeString(string s) { return s ?? String.Empty; } //我希望将PurchaseRequisition或Award为null的记录附加到结果集。

LINQ to Entities无法识别方法’System.Collections.Generic.Dictionary`2 ToDictionary

我正在尝试从DB中检索EmployeeDTO列表,这些列表存储在Employee表中。 每个员工都可以拥有一个或多个专业。 专业存储在OrganizationSpecialtyType中。 Employee和OrganizationSpecialtyType通过EmployeeSpecialty表与“多对多”相关联。 我使用以下查询并获得标题中的exception: var q = _context.Employee.Where(p => employeeEMIIDs.Contains(p.EmployeeID)) .Select(p => new EmployeeDTO { EmployeeID = p.EmployeeID, GenderTypeID = p.GenderTypeID, FirstName = p.FirstName, LastName = p.LastName, Name = p.Name, MiddleName = p.MiddleName, DOB = p.DOB, Suffix = p.Suffix, Title = p.Title, Sepcialty = p.EmployeeSpecialty .ToDictionary(d => d.OrganizationSpecialtyType.SpecialtyTypeID, d => d.OrganizationSpecialtyType.Name) } ); 在EmployeeDTO类属性中,特性是类型公共字典。 […]

使用AND和OR的C#谓词构建器

我有以下课程: public class testClass { public string name { get; set; } public int id { get; set; } public int age { get; set; } } 和以下代码: var list = new List(); list.Add(new testClass { name = “name”, id = 1, age = 30 }); list.Add(new testClass { name = “name”, id = 2, […]