C# LINQ主要用于Select语句吗?

C# LINQ主要用于Select语句吗?,c#,linq,C#,Linq,我认为LINQ在选择语句和制作新对象/记录时感觉最好。对于更新和删除,我觉得这不是很容易或方便。有人对LINQ的使用有什么看法吗 我不能代表LINQ对SQL说话,但总的来说我会同意。有关这方面的详细讨论,请参阅。从技术上讲,LINQ代表“语言集成查询”,因此根据定义,是指支持选择、筛选、投影等的语言扩展。它不一定与更新/删除/插入等相关 话虽如此,LINQ被更宽松地用于指代各种技术,如LINQ到SQL、LINQ到XML等,它们可能有或可能没有自己的机制来执行更新/删除/插入/等。因此,例如,使用

我认为LINQ在选择语句和制作新对象/记录时感觉最好。对于更新和删除,我觉得这不是很容易或方便。有人对LINQ的使用有什么看法吗

我不能代表LINQ对SQL说话,但总的来说我会同意。有关这方面的详细讨论,请参阅。

从技术上讲,LINQ代表“语言集成查询”,因此根据定义,是指支持选择、筛选、投影等的语言扩展。它不一定与更新/删除/插入等相关

话虽如此,LINQ被更宽松地用于指代各种技术,如LINQ到SQL、LINQ到XML等,它们可能有或可能没有自己的机制来执行更新/删除/插入/等。因此,例如,使用LINQ到SQL,数据上下文可以跟踪更新并执行删除、插入等,但这与“LINQ”无关在这个词的一般意义上。但它确实使生成一组实体变得非常容易,您可以在这些实体上执行CRUD操作


但是,即使如此,如果您使用LINQtoSQL选择记录,然后尝试使用DirectADO.NET执行更改操作,也会非常痛苦。你只会违反规则,可能没有什么好处。如果需要使用复杂的TSQL进行更改,LINQ to SQL/Entities确实允许您调用存储过程。

我对LINQ的主要使用是作为一种声明性技术,用于生成高效、可读、无错误的迭代代码。只要我的delete操作没有实际修改我正在迭代的集合,无论我是用这段代码测试、聚合还是更新数据,还是删除数据,对我来说都无关紧要。我发现LINQ在所有这些场景中都同样有用


但我根本不使用LINQtoSQL。我从来没有发现它有什么好的用途。

它毕竟是一个缩写词,“语言集成查询”,它的名字意味着它主要用于此:)但查询并不仅仅是选择的?更新、删除、插入——它们不是查询吗?查一下“查询”的定义。它的意思是为了获得信息或知识而询问。从技术上讲,插入、更新和删除不是查询……它们是数据修改(DML)。true。。你说得对。