怎么会写下面的查询使用LINQ to SQL?
How would I write the following query using Linq to SQL?
UPDATE [TB_EXAMPLE] SET [COLUMN1] = 1
(我的实际目标是比这更复杂的)
(My actual goal is more complex than this)
DataContext类有两种查询方法,的ExecuteCommand和的executeQuery。
The DataContext class has two query methods, ExecuteCommand, and ExecuteQuery.
executeQuery方法返回的LINQ to SQL实体,所以你需要传递一个类型是:
The ExecuteQuery method returns LINQ to SQL Entities, so you need to pass a type to it:
[VB.Net]
MyDataContext.ExecuteQuery(Of Product)("SELECT * FROM PRODUCTS")
[C#]
MyDataContext.ExecuteQuery<Product>("SELECT * FROM PRODUCTS");
然而,的ExecuteCommand并不需要一个类型,你会使用这个方法用于更新查询,因为你只需要一个字符串来编写查询,你可以使用反射,使一个真正通用的Update方法为您DAL。
However, the ExecuteCommand doesn't need a type, you'd use this method for your UPDATE query Because you only need a String to write the query, you can use reflection to make a really generic UPDATE method for your DAL.
MyDataContext.ExecuteCommand("UPDATE Products WHERE ProductID = {0}",1)
或
MyDataContext.ExecuteCommand("UPDATE Products WHERE ProductID = 1")