Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

1
为什么C#编译器会对这个嵌套的LINQ查询感到生气?
尝试编译以下代码,您会发现编译器需要> 3 GB的RAM(计算机上的所有可用内存)和很长的时间进行编译(实际上,我在10分钟后得到IO异常)。 using System; using System.Linq; public class Test { public static void Main() { Enumerable.Range(0, 1).Sum(a => Enumerable.Range(0, 1).Sum(b => Enumerable.Range(0, 1).Sum(c => Enumerable.Range(0, 1).Sum(d => Enumerable.Range(0, 1).Sum(e => Enumerable.Range(0, 1).Sum(f => Enumerable.Range(0, 1).Count(g => true))))))); } } 有人可以解释这种奇怪的行为吗? CS版本:Microsoft(R)Visual C#编译器版本4.0.30319.17929 操作系统名称:Microsoft Windows 7 Ultimate 操作系统版本:6.1.7601 Service Pack …
97 c#  linq 

3
Linq语法-选择多个列
这是我在实体模型中使用的Linq语法 IQueryable<string> objEmployee = null; objEmployee = from res in _db.EMPLOYEEs where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo) select res.EMAIL; 如何选择多列?就像我想选择res.ID一样。我怎么能收到这些呢?我认为IQueryable无法正常工作。这就是所谓的Linq to SQL,对吗?

6
如何使用IEqualityComparer
我的数据库中有一些铃铛号相同。我希望所有这些都没有重复。我创建了一个compare类来完成这项工作,但是该函数的执行会导致该函数的延迟很大,没有区别,从0.6秒到3.2秒! 我做对了还是必须使用其他方法? reg.AddRange( (from a in this.dataContext.reglements join b in this.dataContext.Clients on a.Id_client equals b.Id where a.date_v <= datefin && a.date_v >= datedeb where a.Id_client == b.Id orderby a.date_v descending select new Class_reglement { nom = b.Nom, code = b.code, Numf = a.Numf, }) .AsEnumerable() .Distinct(new Compare()) .ToList()); class Compare …

3
如何使用LINQ进行SELECT UNIQUE?
我有一个这样的清单: Red Red Brown Yellow Green Green Brown Red Orange 我正在尝试使用LINQ做一个SELECT UNIQUE,即我想要 Red Brown Yellow Green Orange var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name; 然后我将其更改为 var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name.Distinct(); 没有成功。第一个select获得所有颜色,那么如何修改它以仅获得唯一值? 如果有更好的方法来构造此查询,则不愿走那条路。 如何进行编辑,以便可以使用.OrderBy(“ column name”),即按字母顺序按颜色名称,即name属性? 我不断收到消息: …

15
在SQL Server Compact Edition数据库上,如何解决LINQ to SQL中的“找不到或更改行”异常?
在使用LINQ to SQL连接更新了几个属性(针对SQL Server Compact Edition)后,对DataContext执行SubmitChanges时,出现“找不到或更改行”。ChangeConflictException。 var ctx = new Data.MobileServerDataDataContext(Common.DatabasePath); var deviceSessionRecord = ctx.Sessions.First(sess => sess.SessionRecId == args.DeviceSessionId); deviceSessionRecord.IsActive = false; deviceSessionRecord.Disconnected = DateTime.Now; ctx.SubmitChanges(); 该查询生成以下SQL: UPDATE [Sessions] SET [Is_Active] = @p0, [Disconnected] = @p1 WHERE 0 = 1 -- @p0: Input Boolean (Size = 0; Prec = 0; …
96 .net  linq  linq-to-sql 

4
LINQ唯一运算符,忽略大小写吗?
给出以下简单示例: List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" }; CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer(); var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList(); 看来CaseInsensitiveComparer实际上并未用于进行不区分大小写的比较。 换句话说,distinctList 包含与list相同数量的项目。相反,我希望例如将“三个”和“三个”视为相等。 我是否缺少某些东西,或者Distinct运算符是否有问题?

4
Roslyn无法编译代码
将项目从VS2013迁移到VS2015后,该项目将不再生成。以下LINQ语句中发生编译错误: static void Main(string[] args) { decimal a, b; IEnumerable<dynamic> array = new string[] { "10", "20", "30" }; var result = (from v in array where decimal.TryParse(v, out a) && decimal.TryParse("15", out b) && a <= b // Error here orderby decimal.Parse(v) select v).ToArray(); } 编译器返回错误: 错误CS0165使用未分配的局部变量'b' 是什么原因导致此问题?是否可以通过编译器设置修复它?
95 c#  .net  linq  roslyn 

10
什么是领先的LINQ for JavaScript库?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 我正在寻找一个JavaScript库,该库将允许我使用类似LINQ的语法查询复杂的JSON对象。快速搜索发现了一些有希望的选择,这些选择似乎可以满足我的需求: LINQ to JavaScript和jLinq 有没有人有使用它们的经验? 有什么优点和缺点? 性能可比吗? LINQ to JavaScript的函数传递语法是否提供任何隐藏的好处(我个人发现jLinq的语法乍一看更具吸引力)? 您发现这两个项目中缺少什么? 您是否曾经尝试与作者联系?他们反应如何? 哪个项目使用更广泛? 我认为它将是第一个进行全面试用的人。
95 javascript  json  linq 

6
LINQ使用Max()选择单行
我在NHibernate返回的IQueryable上使用LINQ,我需要在几个字段中选择具有最大值的行。 我简化了我坚持的内容。我需要从我的表中选择一行,并在一个字段中取最大值。 var table = new Table { new Row(id: 1, status: 10), new Row(id: 2, status: 20) } from u in table group u by 1 into g where u.Status == g.Max(u => u.Status) select u 这是不正确的,但我无法制定正确的表格。 顺便说一句,我实际上想实现的目标大致是: var clientAddress = this.repository.GetAll() .GroupBy(a => a) .SelectMany( g => g.Where( …
95 c#  .net  linq 

13
如何通过LINQ展平树?
所以我有简单的树: class MyNode { public MyNode Parent; public IEnumerable<MyNode> Elements; int group = 1; } 我有一个IEnumerable<MyNode>。我想将所有列表MyNode(包括内部节点对象(Elements))作为一个平面列表Where group == 1。如何通过LINQ做这样的事情?
95 c#  .net  linq  .net-4.0  tree 

13
在C#中打印数组的所有内容
我尝试在使用一些更改数组的方法后将其内容打印出来,在Java中,我使用以下方法: System.out.print(Arrays.toString(alg.id)); 我该如何在C#中做到这一点?
95 c#  .net  arrays  linq 

11
如何动态指定Linq OrderBy参数?
如何orderby使用我作为参数的值指定传递给参数的参数? 例如: List<Student> existingStudends = new List<Student>{ new Student {...}, new Student {...}} 目前执行: List<Student> orderbyAddress = existingStudends.OrderBy(c => c.Address).ToList(); 而不是c.Address,我怎样才能将其作为参数? 例 string param = "City"; List<Student> orderbyAddress = existingStudends.OrderByDescending(c => param).ToList();
94 c#  linq 

5
Linq Query不断抛出“无法创建类型为System.Object…的常量值”,为什么?
以下是代码示例: private void loadCustomer(int custIdToQuery) { var dbContext = new SampleDB(); try { var customerContext = from t in dbContext.tblCustomers // keeps throwing: where t.CustID.Equals(custIdToQuery) // Unable to create a constant value of type 'System.Object'. select new // Only primitive types ('such as Int32, String, and Guid') { // are …

16
C#可排序集合,允许重复的键
我正在编写一个程序来设置顺序,在该顺序中各种对象将出现在报表中。序列是Excel电子表格上的Y位置(单元格)。 下面是代码的演示部分。我想要完成的是拥有一个集合,这将使我可以添加多个对象,并且我可以基于序列获得排序的集合 SortedList list = new SortedList(); Header h = new Header(); h.XPos = 1; h.name = "Header_1"; list.Add(h.XPos, h); h = new Header(); h.XPos = 1; h.name = "Header_2"; list.Add(h.XPos, h); 我知道SortedList不允许这样做,并且我一直在寻找替代项。我不想删除重复项,并且已经尝试过了List<KeyValuePair<int, object>>。 谢谢。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.