1.简单形式

说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库。

NorthwindDataContext db = new NorthwindDataContext();
var newCustomer = new Customer
{CustomerID = "MCSFT",CompanyName = "Microsoft",ContactName = "John Doe",ContactTitle = "Sales Manager",Address = "1 Microsoft Way",City = "Redmond",Region = "WA",PostalCode = "98052",Country = "USA",Phone = "(425) 555-1234",Fax = null
};
db.Customers.InsertOnSubmit(newCustomer);
db.SubmitChanges();

语句描述:使用InsertOnSubmit方法将新客户添加到Customers 表对象。调用SubmitChanges 将此新Customer保存到数据库。

2.一对多关系

说明:Category与Product是一对多的关系,提交Category(一端)的数据时,LINQ to SQL会自动将Product(多端)的数据一起提交。

var newCategory = new Category
{CategoryName = "Widgets",Description = "Widgets are the ……"
};
var newProduct = new Product
{ProductName = "Blue Widget",UnitPrice = 34.56M,Category = newCategory
};
db.Categories.InsertOnSubmit(newCategory);
db.SubmitChanges();

语句描述:使用InsertOnSubmit方法将新类别添加到Categories表中,并将新Product对象添加到与此新Category有外键关系的Products表中。调用SubmitChanges将这些新对象及其关系保存到数据库。

3.多对多关系

说明:在多对多关系中,我们需要依次提交。

var newEmployee = new Employee
{FirstName = "Kira",LastName = "Smith"
};
var newTerritory = new Territory
{TerritoryID = "12345",TerritoryDescription = "Anytown",Region = db.Regions.First()
};
var newEmployeeTerritory = new EmployeeTerritory
{Employee = newEmployee,Territory = newTerritory
};
db.Employees.InsertOnSubmit(newEmployee);
db.Territories.InsertOnSubmit(newTerritory);
db.EmployeeTerritories.InsertOnSubmit(newEmployeeTerritory);
db.SubmitChanges();

语句描述:使用InsertOnSubmit方法将新雇员添加到Employees 表中,将新Territory添加到Territories表中,并将新EmployeeTerritory对象添加到与此新Employee对象和新Territory对象有外键关系的EmployeeTerritories表中。调用SubmitChanges将这些新对象及其关系保持到数据库。

Linq-插入insert相关推荐

  1. mysql的几种插入语句_Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore

    简要说下三者的区别:insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错. replace into 如果表中存在主键相同的数据则根据主键修改当前主键的数据,反之则插入(存在就 ...

  2. mysql 的 虚拟表(DUAL)的介绍及使用场景---条件插入insert

    虚拟表 DUAL MySQL中使用select 1;不加 from table就可以执行 而在Oracle中需要满足select * from table;这样的结构 因此Oracle引入虚拟表DUA ...

  3. batchupdate写法_mybatis执行批量插入insert和批量更新update

    Mybatis批量插入和批量更新数据的资料相信大家从网上能查找到很多资料,本文重点总结一下mybatis执行批量插入insert和批量更新update数据.在mysql数据库中批量插入,如:inser ...

  4. mysql千万级数据查询select、插入insert慢 可能原因总结

    mysql千万级数据查询select.插入insert慢 可能原因总结 表连表查询 并 insert ,insert into -select -from- insert into T1(XX,XX) ...

  5. 插入(insert)

    插入(insert) 语法: iterator insert( iterator i, const char &ch ); basic_string &insert( size_typ ...

  6. Android数据库处理重复插入Insert数据的问题

    Android数据库处理重复插入Insert数据的问题 在创建表时,使用UNIQUE约束唯一的列,比如ID等.约束之后,再插入相同ID的数据会报错,此时要配合insert ignore into插入数 ...

  7. C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)

    STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...

  8. C#字符串处理插入(Insert)函数

    在论坛上看到一个网友需要,需要把字符串"20110601"转为日期.由于使用DateTime.Parse转出来是一个空值.Insus.NET想到的是使用C#的字符串处理函数Inse ...

  9. 数据插入INSERT

    一.INSERT SELECT :将查询的数据直接插入 特点: 1.一次性插入所有查询出来的数据. 2.数据原子性,有一个失败全部失败. 3.没有指定的列加默认值或NULL,都没有就报错. 二.INS ...

  10. mybatis批量插入(insert)和批量更新(update)

    文章目录 一.Mybatis批量插入 二.批量更新 前言:这两天在做mybatis批量插入和更新的时候,对这块不是很清楚,所以今天写篇文章,巩固加深印象. 一.Mybatis批量插入 批量插入的sql ...

最新文章

  1. [MySQL FAQ]系列 -- 为何innodb表select count(*)很慢
  2. Python金融大数据分析——第五章数据可视化(2)金融学图表
  3. java redis 网络断开_Redis长时间连接后自动断开
  4. Git 常用命令速查表(图文+表格)【转】
  5. asp 之 让实体中字段类型为DateTime的字段仅仅显示日期不显示时间
  6. cmd下运行java文件时,找不到或无法加载主类的解决方法
  7. 烟台市计算机二级培训机构,烟台市2020年3月计算机二级报名时间|网上报名入口【12月20日9:00开通】...
  8. Loadrunner脚本录制执行
  9. 调整计算机硬盘大小,分区助手调整硬盘分区大小图文教程?
  10. AI之语音转写项目实践
  11. 密码学小知识(2):密码学三大顶会,信息安全四大顶会,网络与信息安全CCF推荐会议和期刊
  12. 双样本T检验-P-T和T-T检验
  13. android iphone 开发者选项,手机开发者选项中的妙用,让你的安卓系统流畅如iOS
  14. 《论文阅读》THE CURIOUS CASE OF NEURAL TEXT DeGENERATION
  15. 迁移学习癌医学影像检测
  16. 多类差异信息柔性融合概念与内涵
  17. HTTP/HTTPS协议
  18. adjusted closing price股票的调整后价格
  19. python编程语言介绍-编程语言及python介绍
  20. python 画任意多边形

热门文章

  1. win7下的python2.7和pip的环境安装
  2. Spyder突然提示打开kernel时发生错误
  3. SilverLight 条码 扫描枪 MVVM(转载)
  4. View4.5测试参考文档1--测试环境规划
  5. python文件行数运行结果_python统计文件行数
  6. Notification使用详解之二:可更新进度的通知
  7. android用usb无法连接ubuntu13.10(vmware中安装ubuntu) lsusb找不到手机
  8. 使用Event Bus模式解耦Android App组件间通信
  9. zabbix系列zabbix3.4监控mysql5.7
  10. 《Java安全编码标准》一2.11 IDS10-J不要拆分两种数据结构中的字符串