与SQL一样,LINQ是从各种来源检索数据的好方法,但迄今为止,我还没有听说任何人谈论过SQL提供的其他元素,特别是更新/插入/删除。各种DLinq提供者都提供了他们自己的机制,但似乎在某种程度上,数据源的修改将成为LINQ所代表的语言扩展的一部分。有没有人看到关于LINQ发展中这一步的任何文章或讨论?在LINQ路线图上更新/删除/插入?
非常感谢!
与SQL一样,LINQ是从各种来源检索数据的好方法,但迄今为止,我还没有听说任何人谈论过SQL提供的其他元素,特别是更新/插入/删除。各种DLinq提供者都提供了他们自己的机制,但似乎在某种程度上,数据源的修改将成为LINQ所代表的语言扩展的一部分。有没有人看到关于LINQ发展中这一步的任何文章或讨论?在LINQ路线图上更新/删除/插入?
非常感谢!
我不确定你在做什么,这在LINQ to SQL支持。
是啊,每一个具体的LINQ提供程序提供了自己如何更新版本,插入和删除。我的问题是为什么要为阅读开发一种“通用语言”和十种独立写作方法。如果SQL是“只读”的,并且你必须去另一种语言/框架来编写,那么它可能不会在这段时间内生存下来。 – 2009-06-14 14:22:58
更新,插入和删除通常比做查询(本质上是查找操作)更容易的问题。
如果您引用的是泛型集合而不是数据库,那么会进行方法调用,如插入或添加以添加项目,删除或删除以删除项目。要更改项目,通常您只需直接操作该项目。
我同意他们是不同的问题来解决,但通常你一起使用它们(找到这个对象,把它的颜色改成“红色”)。既然你可以用一种常见的方式从各种来源(数据库,列表)查询数据,为什么不更新它们呢?像,这是不是可以很好: 更新myListOrXmlOrDataBase 集彩色=“红色” 其中name =“番茄”; – 2009-06-14 14:27:59
Linq针对两个接口,IEnumerable<T>
和IQueryable<T>
。
想想如何对IEnumerable<T>
执行删除操作。
如何从Enumerable.Range(0, 5)
删除东西?
你从我口中说出的话。 LinqToObjects不能支持“按设计”的可变操作。 – 2009-06-14 16:32:10
作为一个澄清,我说的是更新作为语言的一部分,而不是通过的DataContext /会话/收集等供应商特定的方法 – 2009-06-14 14:29:32