Tag: linq

如何对包含属性的类的List集合进行排序?

我的集合中有一个类列表 List test = new List(); 在我的课程中,我只有一些属性 public string id {get; set;} public DateTime date {get; set;} 现在我通过从2个不同的数据库表中获取一些查询来创建这些类。 然后我从数据库表中获取这2个结果并使用foreach循环我创建一个新的MyClass对象并将其粘贴在我的“test”集合中。 现在,将所有这些类放入列表集合中。 我想对它们进行排序,并通过“date”属性对类进行排序。 我怎么能这样做? 当我从数据库中获取它们时,我无法正确订购,因为我从2个不同的数据库表中获取它们并且单独订购它们只会为每个部分订购它,但是表1可能有12/12/2009因此可能表二。 所以他们需要一起订购。 那么我可以使用linq或其他东西来订购它们吗? 谢谢

Linq行未找到或更改

Error Message: Row not found or changed. Stack Trace: at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) 这似乎是随机发生的。 我通过电子邮件发送了这些错误,并且报告的URL似乎总是对我有用,并且应该也适用于其他所有人。 我可以通过以下方式解决此错误 转到我的dbml布局 选择表中的每个字段都会导致冲突 右键单击并将属性Update Check设置为Never 这似乎可以防止抛出这些类型的错误。 但是,每当我有机会进入dmbl ,添加新表等时,记住继续这样做是很费力的。有没有更好的方法来解决这个问题? 我每天可能会得到50-100这对我的访客来说很糟糕。

哪些LINQ语句强制Entity Framework从DB返回?

我知道几个LINQ语句将导致EF评估并将结果从DB返回到内存。 .ToList()是一个。 有没有人有完整的声明列表? 不确定…… .SingleOrDefault() .Union() 编辑:希望我能接受所有这些答案。 大家的好消息!

多个EF中的条件

可能重复: 条件Linq查询 使用Entity Framework 4.0 我有这样的搜索条件 有四个字段允许用户过滤搜索。 条件都是AND 。 如果文本框值为String.Empty或者下拉列表值为All ,则结果必须省略相应的filter。 可以在存储过程中执行此操作,但我无法在Linq2SQL / Entity Framework方案中模仿这一点。 我的问题是,如何在Linq中根据一些输入值省略IEnumerable.Where?

如何根据文化获得LINQ订购?

说我有一个带有瑞典语单词的字符串列表: apelsin , druva , apelsin , druva 现在我想要列出这个列表(请记住,这是真实查询的一个非常简化的版本): var result = from f in fruits // The list mentioned above orderby f select f 这会给我: apelsin , druva , druva , druva 。 然而,根据瑞典字母表,我应该得到: apelsin , druva , apelsin , druva 我尝试将System.Threading.Thread.CurrentThread.CurrentCulture更改为sv-SE但这根本不会影响它。 我是否必须编写自己的lambda函数并使用.OrderBy(…)或者我还能做些什么来保持LINQ完好无损?

LINQ to XML可选元素查询

我正在使用现有的XML文档,其结构(部分)如下: Bob 1 Larry 我正在使用LINQ to XML来查询XDocument以检索所有这些条目,如下所示: var items = from g in xDocument.Root.Descendants(“Group”).Elements(“Entry”) select new { name = (string)g.element(“Name”).Value, id = g.Elements(“ID”).Count() > 0 ? (string)g.Element(“ID”).Value : “none” }; “ID”元素并不总是存在,因此我对此的解决方案是上面的Count()爵士乐。 但我想知道是否有人有更好的方法来做到这一点。 我仍然对这些新东西感到满意,我怀疑可能有一种更好的方法来做到这一点,而不是我现在正在做的事情。 有没有更好/更优选的方式来做我想要的?

Distinct()不起作用

我有以下linq表达式: AgentsFilter = new BindableCollection(( from firstEntry in FirstEntries select new NameValueGuid { Name = firstEntry.Agent, Value = firstEntry.AgentId }).Distinct() ); 但由于某种原因,AgentsFilter Collection充满了重复。 我的Distinct()什么问题?

使用LINQ交错多个(超过2个)不规则列表

说我有以下数据 IEnumerable<IEnumerable> items = new IEnumerable[] { new int[] { 1, 2, 3, 4 }, new int[] { 5, 6 }, new int[] { 7, 8, 9 } }; 返回包含交错项的平面列表的最简单方法是什么,以便得到结果: 1,5,7,2,6,8,3,9,4 注意:运行时不知道内部列表的数量。

LinqfilterList ,其中包含来自另一个List 的字符串值

我有2个List对象(简化): var fileList = Directory.EnumerateFiles(baseSourceFolderStr, fileNameStartStr + “*”, SearchOption.AllDirectories); var filterList = new List(); filterList.Add(“ThisFolderName”); filterList.Add(“ThatFolderName”); 我想过滤fileLst以仅返回包含filterList中任何文件夹名称的文件。 (我希望这是有道理的..) 我尝试了以下表达式,但这总是返回一个空列表。 var filteredFileList = fileList.Where(fl => fl.Any(x => filterList.Contains(x.ToString()))); 我似乎无法理解为什么我什么也得不到,显然我错过了什么,但我不知道是什么。 [编辑] 好的,所以看来我应该更清楚我的问题,我试图在我的fileList中搜索包含来自我的filterList的字符串值的子字符串中的文件。 我已经为那些试图做类似事情的人标记了下面的答案。

LINQ递归查询返回分层的组集

给出以下模型的列表 public class Team { public int TeamId { get; set; } public int ParentTeamId { get; set; } } 我正在尝试编写一个递归的linq查询,这将使我能够检索看起来像这样的层次结构 Team ChildTeams Team Team ChildTeams 我尝试了很多方法并看到了许多类似的问题,但没有一个能够帮助我解决问题。 我尝试的最新尝试遵循以下方针: private class TeamGrouping { public int? ParentTeamId { get; set; } public IEnumerable ChildTeams { get; set; } public IEnumerable Grouping { get; set; } } private […]