Tag: linq

检测应用于IQueryable 的位置

如何检测IQueryable是否应用了wherefilter? 在这段代码中,我需要以编程方式知道queryFiltered有一个应用于它的地方而query没有 IQueryable query = Context.Customers; IQueryable queryFiltered = Context.Customers .Where(c=>c.Name.Contains(“ABC”));

从LINQpad迁移到适当的Visual Studio项目?

我正在学习LINQpad中的LINQ to SQL并且它很棒,但是我不太了解它下面有很多魔法。 我使用可以在LINQpad中下载的可选IQ驱动程序连接到Oracle数据库。 我有我的查询工作,现在我需要将它移动到Visual Studio中的新项目。 是否可以在Visual Studio的解决方案中使用IQ? 我似乎无法找到有关在LINQpad之外使用它的任何信息。 我试图使用DbLinq的DbMetal工具来生成正确的连接类,但是我的模式中的某些东西正在以一种不适用于IQ的方式阻塞该工具。 可以以某种方式导出生成的LINQpad代码吗? 生成的Oracle连接代码在LINQpad中完美运行 – 有没有办法只重用生成的代码?

EF Linq to Entities在实体集上调用ToList()会生成包含多个左外连接的SQL命令

我的实体“Progetto”映射名为VW_AMY_PRG_WCS_Lookup的视图 Progetto有五个导航属性:ClienteDiFatturazione,ClienteDiLavorazione,PercentualeSuccesso,Agente具有多重性0..1和DocumentiWcs具有mupltiplicity * 当我在LINQPad中运行这个简单的语句时 var prj = Progetti.AsQueryable(); prj.ToList(); 生成的sql是 SELECT [Extent1].[IdProgetto] AS [IdProgetto], [Extent1].[IdSerie_Progetto] AS [IdSerie_Progetto], [Extent1].[Importo] AS [Importo], [Extent1].[Data_Prevista_Chiusura] AS [Data_Prevista_Chiusura], [Extent1].[IdStato] AS [IdStato], [Extent1].[Oggetto] AS [Oggetto], [Extent1].[IdMezzo_Pervenuto] AS [IdMezzo_Pervenuto], [Extent1].[IdAgente] AS [IdAgente], [Extent1].[Fido_Residuo] AS [Fido_Residuo], [Extent2].[IdAnagrafica_Fatturazione] AS [IdAnagrafica_Fatturazione], [Extent3].[IdAnagrafica_Lavorazione] AS [IdAnagrafica_Lavorazione], [Extent4].[IdPercentuale_Successo] AS [IdPercentuale_Successo] FROM (SELECT [VW_AMY_PRG_WCS_Lookup].[IdProgetto] AS [IdProgetto], [VW_AMY_PRG_WCS_Lookup].[IdSerie_Progetto] AS [IdSerie_Progetto], […]

linq .Value Nullable Object必须有一个值。 怎么跳?

我有一些linq代码有时为null : cbo3.ItemsSource = empty.Union(from a in (from b in CompleteData select b.TourOpID).Distinct() select new ComboBoxItemString() { ValueString = a.Value.ToString() }); 但TourOpID有时会在a.Value.ToString()上抛出错误。 我该如何解决这个问题?

如何在linq中处理空列表等空列表?

下面是一些linqpad测试代码。 当它运行时出错是因为“item”的第二个实例具有子项的空列表而不是空列表。 我想以完全相同的方式处理这两种情况(空或空列表),但我想知道是否有一种更简洁的方法,而不仅仅是在列表上进行空检查,并在存在空值时初始化空列表。 换句话说,我可以这样做: from si in (i.subitems == null ? new List() : i.subitems) 但那有点难看,我想知道我怎么能改进呢? public class item { public string itemname { get; set; } public List subitems { get; set; } } void Main() { List myItemList = new List() { new item { itemname = “item1”, subitems = new List() { […]

如何在C#中将列标题添加到ListView

我有一个没有列的ListView控件。 一个清单 List MyList=new List(); 我需要为ListView中的每个列表MyList项创建列,并为序列号创建另一列。 例如,如果MyList包含”A”, “B” ,”C” 然后列表视图就像 我知道我们可以使用for或foreach循环来做到这一点 listView1.Columns.Add(“S.No”) for(int i=0;i<MyList.Count;i++) { listView1.Columns.Add(MyList[i]) } 但有没有办法使用LINQ或LAMBDA Expression ?

我怎么能。在LINQ中包含多个级别?

我有以下课程: public class Problem : AuditableTable { public Problem() { this.Questions = new List(); } public int ProblemId { get; set; } public string Title { get; set; } public virtual ICollection Questions { get; set; } } public Question() { this.Answers = new List(); } public int QuestionId { get; set; } public int […]

按Linq中子集合中的最小值排序父集合

Parent{ List Children {get;set;} } Child { int Age {get;set;} } 我想在孩子最低年龄的时候订购父母,在领带的情况下,请向第二个或第三个孩子办理。 我最接近的是这个,只有最小的孩子订购: parents.OrderBy(p => p.Children.Min(c => c.Age)) 在并列的情况下,这不会占第二(或第三等)最年轻。 鉴于这3个父母有相应的孩子年龄,我希望他们按此顺序出来。 P1 1,2,7 P2 1,3,6 P3 1,4,5

冻结linq IQueryable(作为ToList()。AsQueryable()会这样做)

有没有办法冻结IQueryable以便在命中数据库时不会向查询添加其他连接? 例如,我可以使用.ToList()来冻结查询,但这会产生性能影响,因为我所做的任何过滤都在中间层上,而且我在数据库服务器上预过滤没有任何性能提升? 为清晰起见编辑: 我有一个OData服务,它返回一个IQueryable ,客户端可以根据需要过滤/排序/项目。 我只想阻止他们提取更多数据。 我可以通过执行ToList().AsQueryable()来做到这一点,但是它失去了lazyLoading的优势,并且随之而来的是允许客户端过滤请求的全部目的。 我看到的一个选项是设置: EnableQueryAttribute.AllowedQueryOptions以排除Expand ,但是即使我的初始Query已经扩展,客户端仍然无法选择这些部分。

Linq lambda表达式中的布尔短路评估

我有以下Linq lambda表达式: private IEnumerable GetSubjectList() { User user = db.Users.Find(WebSecurity.CurrentUserId); return db.RequiredSubjects.Where(r => !r.Subject.Name.Contains(“Home”)) .GroupBy(r => r.Subject) .OrderByDescending(r => r.Count()) .Select(r => new SubjectSelectorSubjectGroup() { SubjectId = r.Key.SubjectId, SubjectName = r.Key.Name, IsInFavourites = HttpContext.Current.Request.IsAuthenticated && (user.Elective1 != null && user.Elective1.SubjectId == r.Key.SubjectId || user.Elective2 != null && user.Elective2.SubjectId == r.Key.SubjectId || user.Elective3 != null && […]