LINQ to SQL的CRUD操作
- 创建数据对象模型
sqlmetal /code:"C:\MyProjects\VS2008\Data\LinqConsoleApp2\LinqConsoleApp2\northwnd.cs" /language.csharp "C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\northwnd.mdf" /pluralize
创建数据对象
- 使用数据对象模型(CRUD)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LinqConsoleApp2
{
class Program
{
static void Main(string[] args)
{
//指定数据源
Northwnd db = new Northwnd(@"C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\northwnd.mdf");
//查询
IQueryable<Customer> custQuery =
from cust in db.Customers
where cust.City == "London"
select cust;
Console.WriteLine("查询后的操作结果:");
foreach (Customer cust in custQuery)
{
Console.WriteLine("\t{0},{1}", cust.CustomerID, cust.CompanyName);
}
//插入
Customer newCust = new Customer();
newCust.CompanyName = "中国电信";
newCust.CustomerID = "CTTC";
db.Customers.InsertOnSubmit(newCust);
db.SubmitChanges();
Console.WriteLine("插入后的操作结果:");
foreach(var c in db.Customers.Where(cust => cust.CustomerID.Contains("TC"))){
Console.WriteLine("\t{0},{1}",c.CustomerID,c.CompanyName);
}
//更新
var exitCust = (from c in db.Customers
where c.CustomerID == "CTTC"
select c).First();
exitCust.CompanyName = "中国联通";
db.SubmitChanges();
Console.WriteLine("更新后的操作结果:");
foreach (var c in db.Customers.Where(cust => cust.CustomerID.Contains("TC")))
{
Console.WriteLine("\t{0},{1}", c.CustomerID, c.CompanyName);
}
//删除
var exitCust2 = (from c in db.Customers
where c.CustomerID == "CTTC"
select c).First();
db.Customers.DeleteOnSubmit(exitCust2);
db.SubmitChanges();
Console.WriteLine("删除后的操作结果:");
foreach (var c in db.Customers.Where(cust => cust.CustomerID.Contains("TC")))
{
Console.WriteLine("\t{0},{1}", c.CustomerID, c.CompanyName);
}
Console.ReadLine();
}//static void Main(string[] args)
}//class Program
}
使用数据对象
- 运行结果展示

- 备注
需引用System.Data.Linq导入相应的命名空间
LINQ to SQL的CRUD操作的更多相关文章
- 【转载】ADO.NET与ORM的比较(3):Linq to SQL实现CRUD
[转载]ADO.NET与ORM的比较(3):Linq to SQL实现CRUD 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate ...
- LINQ to SQL更新数据库操作(转载)
使用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Prod ...
- CQL和SQL的CRUD操作比较
数据进行CRUD操作时,CQL语句和SQL语句的异同之处. 1.建表 2.CRUD语句比较 3.总结 1.建表 在此之前先分别创建两张表,插入数据,用来测试然后进行比较 在SQL数据库里面创建表 在C ...
- MVC linq To SQL更新数据库操作
首先在视图中提交数据,使用Html.BeginForm() @using(Html.BeginForm()) { @Html.EditorForModel() //编辑模板.控制器中传过来的数据 &l ...
- Linq之Linq to Sql
目录 写在前面 系列文章 Linq to sql 总结 写在前面 上篇文章介绍了linq to xml的相关内容,linq to xml提供一种更便捷的创建xml树,及查询的途径.这篇文章将继续介绍l ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
- 数据库CRUD操作以及MyBatis的配置使用
• 业务字段设计 • 数据库创建 • CRUD操作 • MyBatis集成 • 注解和XML定义 • ViewObject和DateTool • 首页开发 • 业务字段设计 实体: name: ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据 (转)
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
随机推荐
- 安装GNUstep并运行第一个objc程序
在windows环境下安装GNUstep,运行objective-c程序,今天试了一下,记录一下操作步骤, 1,登陆http://ftpmain.gnustep.org/pub/gnustep/bin ...
- python----设置默认编码
问题:python的默认编码是ascii.在处理中文的时候可能会出现乱码的情况:这个时候我们就需要把编码设置为对应的编码了. 解决方案: 对python文件的头部做如下修改 import sys re ...
- Linux 二进制包安装MySQL的一些问题
第一步:安装相关的依赖yum install perl-Data-Dumper 第二步:初始化mysql数据库的内部信息./scripts/mysql_install_db --basedir=/us ...
- 贴片方式COB COF COG
英文简称: COB英文全称: Chip On Board中文全称: 通过邦定将IC裸片固定于印刷线路板上 英文简称: COF 英文全称: Chip On FPC 中文全称: 将IC固定于柔性线路板上 ...
- STL中用erase()方法遍历删除元素
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector .deque):另一类是以不连续的节点形式存储的容器(如:list.set.map).在使用erase方法来删除元素时 ...
- [LeetCode][Python]Regular Expression Matching
# -*- coding: utf8 -*-'''https://oj.leetcode.com/problems/regular-expression-matching/ Implement reg ...
- padding-bottom布局解析;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jstack命令使用
概述 jstack可用于导出java运用程序的线程堆栈.其基本使用语法为: jstack [-l] pid -l 选项用于打印锁的额外信息. 使用演示样例 以下这段代码执行之后会出现死锁现象(由于线程 ...
- 左右 android AES 所述机器的一部分 javax.crypto.BadPaddingException: pad block corrupted
好多人 android 使用上述 AES 显现 javax.crypto.BadPaddingException: pad block corrupted 下面的代码发布没问题,比较自己.不解释! p ...
- C#深复制和浅复制
本文在于巩固基础 我们来看看什么是深复制.浅复制: C#中对于数据的复制机制虽然简单但是容易让人误解.C#数据类型大体分为值类型(value type)与引用类型(reference type).对于 ...