知识大全 LINQ to SQL语句之Insert/Update/Delete操作
Posted 操作
篇首语:世间事飘忽不定者多,万事随心,随不了心便随缘,随不了缘便随时势。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 LINQ to SQL语句之Insert/Update/Delete操作相关的知识,希望对你有一定的参考价值。
LINQ to SQL语句之Insert/Update/Delete操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
LINQ to SQL语句之Insert/Update/Delete操作这篇我们来讨论Insert/Update/Delete操作 这个在我们的程序中最为常用了 我们直接看例子
Insert/Update/Delete操作Insert 简单形式说明 new一个对象 使用InsertOnSubmit方法将其加入到对应的集合中 使用SubmitChanges()提交到数据库
NorthwindDataContextdb =newNorthwindDataContext();varnewCustomer =newCustomer CustomerID = MCSFT CompanyName = Microsoft ContactName = John Doe ContactTitle = Sales Manager Address = Microsoft Way City = Redmond Region = WA PostalCode = Country = USA Phone = ( ) Fax =null;db Customers InsertOnSubmit(newCustomer);db SubmitChanges(); 一对多关系说明 Category与Product是一对多的关系 提交Category(一端)的数据时 LINQ to SQL会自动将Product(多端)的数据一起提交
varnewCategory =newCategory CategoryName = Widgets Description = Widgets are the …… ;varnewProduct =newProduct ProductName = Blue Widget UnitPrice = M Category = newCategory;db Categories InsertOnSubmit(newCategory);db SubmitChanges(); 多对多关系说明 在多对多关系中 我们需要依次提交
varnewEmployee =newEmployee FirstName = Kira LastName = Smith ;varnewTerritory =newTerritory TerritoryID = TerritoryDescription = Anytown Region = db Regions First();varnewEmployeeTerritory =newEmployeeTerritory Employee = newEmployee Territory = newTerritory;db Employees InsertOnSubmit(newEmployee);db Territories InsertOnSubmit(newTerritory);db EmployeeTerritories InsertOnSubmit(newEmployeeTerritory);db SubmitChanges(); Override using Dynamic CUD说明 CUD就是Create Update Delete的缩写 下面的例子就是新建一个ID(主键)为 的Region 不考虑数据库中有没有ID为 的数据 如果有则替换原来的数据 没有则插入 (不知道这样说对不对 大家指点一下)
RegionnwRegion =newRegion() RegionID = RegionDescription = Rainy ;db Regions InsertOnSubmit(nwRegion);db SubmitChanges();Update说明 更新操作 先获取对象 进行修改操作之后 直接调用SubmitChanges()方法即可提交 注意 这里是在同一个DataContext中 对于不同的DataContex看下面的讲解
简单形式Customercust = db Customers First(c => c CustomerID == ALFKI );cust ContactTitle = Vice President ;db SubmitChanges(); 多个项varq =frompindb Productswherep CategoryID == selectp;foreach(varpinq) p UnitPrice += M;db SubmitChanges();Delete 简单形式说明 调用DeleteOnSubmit方法即可
OrderDetailorderDetail = db OrderDetails First (c => c OrderID == && c ProductID == );db OrderDetails DeleteOnSubmit(orderDetail);db SubmitChanges(); 一对多关系说明 Order与OrderDetail是一对多关系 首先DeleteOnSubmit其OrderDetail(多端) 其次DeleteOnSubmit其Order(一端) 因为一端是主键
varorderDetails =fromoindb OrderDetailswhereo Order CustomerID == WARTH && o Order EmployeeID == selecto;varorder = (fromoindb Orderswhereo CustomerID == WARTH && o EmployeeID == selecto) First();foreach(OrderDetailodinorderDetails) db OrderDetails DeleteOnSubmit(od);db Orders DeleteOnSubmit(order);db SubmitChanges(); Inferred Delete(推断删除)说明 Order与OrderDetail是一对多关系 在上面的例子 我们全部删除CustomerID为WARTH和EmployeeID为 的数据 那么我们不须全部删除呢?例如Order的OrderID为 的OrderDetail有很多 但是我们只要删除ProductID为 的OrderDetail 这时就用Remove方法
Orderorder = db Orders First(x => x OrderID == );OrderDetailod = order OrderDetails First(d => d ProductID == );order OrderDetails Remove(od);db SubmitChanges();Update with Attach说明 在对于在不同的DataContext之间 使用Attach方法来更新数据 例如在一个名为tempdb的NorthwindDataContext中 查询出Customer和Order 在另一个NorthwindDataContext中 Customer的地址更新为 First Ave Order的CustomerID 更新为CHOPS
cha138/Article/program/net/201311/12904相关参考
知识大全 ASP.NET中显示Linq To SQL输出的SQL语句
ASP.NET中显示LinqToSQL输出的SQL语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
LinqToSql常用方法使用总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 准备工作 数
知识大全 Linq to DataSet 之Access查询
LinqtoDataSet之Access查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Linq
LINQ语句检查空对象的问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如何在ASP.NET中了解LINQ语句性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如果是
SQL语句性能调整之性能调整综述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle数据
LINQ实现常见SQL查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Top查询skip(i
SQL基本语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 掌握SQL四条最基本的数据*作语句
有时候我们经常为我们的sql语句执行效率低下发愁反复优化后可还是得不到提高 那么你就用这条语句找出你sql到底是在哪里慢了 示例 SETSTATISTICSioON &
SQL语句获取日期 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQL语句获取特定日期 一个