Tag: linq

LINQ to Entities不支持错误,方法

为什么我收到此错误: LINQ to Entities不支持“Single”方法。 请考虑使用“First”方法。 public ActionResult Details(int id) Line 27: { var result = (from d in _db.MovieSet Line 29: where d.Id == id Line 30: select d).Single(); // // } 代码编译安全,但只有在调用相应部分时才会中断。 我是LINQ的新手,因此不知道哪些方法适用于LINQtoSQL或LINQtoEntities。 这意味着更多错误! 我们不记得所有这些方法。 我的问题是,如果适用于某些类型/场景的方法存在局限性,为什么它们出现在Intellisense中? 编辑:任何解决方法/技术有助于了解是否支持?

LINQ和SQL中看似等效的查询返回不同的结果

不知道为什么它被作为一个骗局联系起来。 问题是不同的。 答案是不同的。 不知道该改变什么。 如果有人看到我遗失的内容,请告诉我…… 我使用这两个查询获得了不同数量的结果。 在分析了几个小时之后,我需要放弃,承认我无法发现重要性的差异。 由于我的方法库被清空,我正在寻求帮助。 LINQ List result = context.Unos .Join(context.Duos, uno => uno.CommonId, duo => duo.CommonId, (uno, duo) => new { Uno = uno, Duo = duo }) .Where(item => item.Uno.Amount > 0 && item.Duo.Type == 2) .Select(item => item.Uno) .ToList(); SQL select * from Uno as u join Duo as […]

将两个词典与LINQ结合使用

我的问题被标记为这个问题的可能重复: 如何在没有循环的情况下组合两个词典? 我相信我的问题是不同的,因为我问的是如何以特定的方式组合两个词典:我希望Dictionary1中的所有项目加上Dictionary2中不存在的所有项目(即密钥不存在)。 我有两个这样的词典: var d1 = new Dictionary(); var d2 = new Dictionary(); d1[“a”] = 1; d1[“b”] = 2; d1[“c”] = 3; d2[“a”] = 11; d2[“e”] = 12; d2[“c”] = 13; 我想将它们组合成一个新的Dictionary(技术上,它不必是一个字典,它可能只是一个KeyValuePairs序列),这样输出包含来自d1的所有KeyValuePairs和只有来自d2的KeyValuePairs的Key没有出现在d1 。 概念: var d3 = d1.Concat(d2.Except(d1)) 但这给了我d1和d2的所有元素。 似乎它应该是显而易见的,但我必须遗漏一些东西。

将select new转换为DataTable?

我使用的是.NET 3.5,需要将下面的select new结果转换为DataTable。 是否有内置的东西或任何人知道的方法可以做到这一点? var contentList = (from item in this.GetData().Cast() select new { Title = item.GetMetaData(“Title”), Street = item.GetMetaData(“Street”), City = item.GetMetaData(“City”), Country = item.GetMetaData(“Country”) });

比较两个DataTables的C#差异?

可能重复: C#,如何比较两个数据表A + B,如何显示B中但不在A中的行 我需要比较c#中的两个数据表来找出差异。 这两个数据表具有相同的模式。 最好的方法是什么? 可以使用linq查询完成吗? 如果是,怎么样?

如何将使用ROW_NUMBER()的查询转换为linq?

我的表由三列组成(sno,name,age)。 我正在使用额外的列(行号)从数据库中检索此表,并使用以下代码: select * from ( select ROW_NUMBER() over (order by SNo asc)as rowindex,SNo,Name,Age from tblExample) as example where rowindex between ((pageindex*10)+1) and ((pageindex+1)*10) 注意,pageindex是一个变量,它接受用户传递的一些整数值。 我的数据库是Sql Server 2008.我想使用Linq编写相同的查询。 我怎么做?

OrderBy和OrderByDescending稳定吗?

我目前正在阅读Pro LINQ c#2008,而在第87页,那个人说OrderBy和OrderByDescending是稳定的。 但他在第96页中恰恰相反。它在我看来,因为他指的是完全相同的function,所以我不明白。 它们是否稳定?

合并重叠的时间间隔?

我有以下内容: public class Interval { DateTime Start; DateTime End; } 我有一个包含多个间隔的List对象。 我试图实现以下(我使用数字使其易于理解): [(1, 5), (2, 4), (3, 6)] —> [(1,6)] [(1, 3), (2, 4), (5, 8)] —> [(1, 4), (5,8)] 我目前在Python中这样做如下: def merge(times): saved = list(times[0]) for st, en in sorted([sorted(t) for t in times]): if st <= saved[1]: saved[1] = max(saved[1], en) else: yield […]

LINQ将列交换为行

是否有一个花哨的LINQ表达式,可以让我以更简单的方式执行以下操作。 我有一个List<List> ,假设List是2d矩阵中的列,我想将列列表交换为行列表。 我有以下明显的解决方案: int columns = 5; var values; // assume initialised as List<List>() var listOfRows = new List<List>(); for (int i = 0; i < columns ; i++) { List newRow = new List(); foreach (List value in values) { newRow.Add(value[i]); } listOfRows.Add(newRow); }

如何通过LINQ搜索2D数组?

我有一个像这样的2D数组: string[,] ClassNames = { {“A”,”Red”}, {“B”,”Blue”}, {“C”,”Pink”}, {“D”,”Green”}, {“X”,”Black”}, }; 我通过for语句在第 1列中搜索ClassName ,并在第2列中返回ColorName ,如下所示: string className = “A”; string color = “Black”; for (int i = 0; i <= ClassNames.GetUpperBound(0); i++) { if (ClassNames[i, 0] == className) { color = ClassNames[i, 1]; Response.Write(color); break; } } 我想使用LINQ而不是for语句来获取className的颜色 。 如何将上面的语句转换为LINQ。