当前位置: 首页 > 编程语言 > C#

是否可以使用LinqtoSQL运行任意查询?(C#)分享

时间:2023-04-10 14:00:03 C#

是否可以使用LinqtoSQL运行任意查询?(C#)如何使用LinqtoSQL编写以下查询?UPDATE[TB_EXAMPLE]SET[COLUMN1]=1(我的实际目标比这个更复杂)DataContext类有两个查询方法,ExecuteCommand和ExecuteQuery。ExecuteQuery方法返回LINQtoSQL实体,因此您需要向其传递一个类型:[VB.Net]MyDataContext.ExecuteQuery(OfProduct)("SELECT*FROMPRODUCTS")[C#]MyDataContext.ExecuteQuery("SELECT*FROMPRODUCTS");但是,ExecuteCommand不需要类型,您将此方法用于UPDATE查询,因为您只需要一个String来编写查询,您可以使用反射为DAL创建一个非常通用的UPDATE方法。MyDataContext.ExecuteCommand("UPDATEProductsWHEREProductID={0}",1)或MyDataContext.ExecuteCommand("UPDATEProductsWHEREProductID=1")是。DataContext有一个ExecuteCommand方法,允许您执行任意(希望是参数化的)SQL。引用上面DataContext链接的注释:此方法是一种传递机制,适用于LINQtoSQL不能充分提供特定场景的情况。此命令的语法几乎与用于创建ADO.NETDataCommand的语法相同。唯一的区别是如何指定参数。具体来说,您通过将参数括在花括号({...})中来指定参数,并从0开始枚举它们。参数与参数数组中相同编号的对象相关联。foreach(varTB_EXAMPLEexdbDataContext.TB_EXAMPLES){ex.COLUMN1=1;}dbDataContext.SubmitChanges();假设有DataContext连接,可以使用DataContext对象的ExecuteCommand方法执行不返回对象的SQL命令。http://msdn.microsoft.com/en-us/library/bb386906.aspxvarrow=(fromtindataContext.tablewheret.id==1selectt).Single();row.columnName=1;dataContext.SubmitChanges();edt,oopsslowdown;)您可以直接更新对象,然后调用保存更改。使用(varctx=newMyDataContext()){varcustomer=ctx.Customers.First();customer.Name="新名称";ctx.SaveChanges();如果您正在寻找像这样的实际SQL命令,ScottGuthrie在http://weblogs.asp.net/scottgu/archive/2007/08/27/linq上有一篇很好的文章演示了如何使用ExecuteQuery和ExecuteCommand方法-to-SQL第-8节-执行自定义-SQL表达式.aspxC#教程就是这些:我可以使用LinqtoSQL运行任意查询吗?(C#)分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: