一步一步学Linq to sql(九):其它补充
系列文章导航:
一步一步学Linq to sql(二):DataContext与实体
撤销提交
var customer = ctx.Customers.Single(c => c.CustomerID == "AROUT"); customer.ContactName = "zhuye"; customer.Country = "Shanghai"; Response.Write(string.Format("Name:{0},Country:{1}<br/>", customer.ContactName, customer.Country)); customer = ctx.Customers.GetOriginalEntityState(customer); Response.Write(string.Format("Name:{0},Country:{1}<br/>", customer.ContactName, customer.Country)); |
上面的代码执行效果如下:
Name:zhuye,Country:Shanghai |
批量操作
下面的代码会导致提交N次DELETE操作:
var query = from c in ctx.Customers select c; ctx.Customers.RemoveAll(query); ctx.SubmitChanges(); |
应该使用sql语句进行批操作:
string sql = String.Format("delete from {0}", ctx.Mapping.GetTable(typeof(Customer)).TableName); ctx.ExecuteCommand(sql); |
对于批量更新操作也是同样道理。
本文将会不断补充其它点滴。最后一篇将会结合分层分布式应用给出一个实际的项目。