1.新建一个winform项目。

2.添加一个Linq to Sql 类,命名为Northwind

3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了

4.实例化DataContext类

NorthwindDataContext dc = new NorthwindDataContext();

5.下面就可以使用Linq to Sql啦。

a.查询Employees所有数据

var ee =
from employee in dc.Employees
select employee;

b.加个Where条件,查询Employee表所有City=London

            var e2 =
from employee in dc.Employees
where employee.City == "London"
select employee;

c.查询EmployeeID<5的数据

            var e3 =
from employee in dc.Employees
where employee.EmployeeID <
select employee;

d.查询雇佣日期在1993年1月1日以前的人员。

            var e4 =
from employee in dc.Employees
where employee.HireDate < new DateTime(, , )
select employee;

e.多个查询条件

            var e5 =
from employee in dc.Employees
where employee.HireDate < new DateTime(, , )
where employee.EmployeeID <
select employee;

f.like语句

           var e6 =
from employee in dc.Employees
where SqlMethods.Like(employee.FirstName, "%a%")
//where employee.FirstName.Contains("a") //等价于 like '%a%'
//where employee.FirstName.StartsWith("a") //等价于 like 'a%'
//where employee.FirstName.EndsWith("a") //等价于 like '%a'
select employee;

g.查询指定的列

           var e7 =
(from employee in dc.Employees
//select new { employee.EmployeeID, employee.FirstName };
select new
{
员工编号 = employee.EmployeeID,
员工姓名 = employee.FirstName,
尊称 = employee.TitleOfCourtesy
});

h.子查询

            var e8 =
from employee in dc.Employees
where employee.Orders.Count >
select employee;

i.内连接

            /**
* 查询位于伦敦的客户的订单
* SELECT *
* FROM [dbo].[Orders]
* INNER JOIN [dbo].[Customers] ON [Customers].[CustomerID] = [Orders].[CustomerID]
* WHERE [Customers].[City] = 'London'
*/
var e9 =
from cus in dc.Customers
join ord in dc.Orders on cus.CustomerID equals ord.CustomerID
where cus.City == "London"
select ord;

j.增加

            Employees m = new Employees();
m.LastName = "闪硕";
m.FirstName = "燕";
m.Title = "闪硕标题";
dc.Employees.InsertOnSubmit(m);
dc.SubmitChanges();

k.修改

            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "闪硕");
e10.City = "石家庄";
dc.SubmitChanges();

l.删除

            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "闪硕");
dc.Employees.DeleteOnSubmit(e10);
dc.SubmitChanges();

练习代码使用Vs2012,微软northwnd示例数据库

代码下载:http://pan.baidu.com/s/1pJyh0Mn  

linq to sql简单使用的更多相关文章

  1. MVC 学习(二)之Linq to Sql 简单Demo

    Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查.Linq to sql 与Linq to Entities虽然同属于DataBase- ...

  2. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  3. Linq to SQL 简单增删改查

    用Linq大大减少了对数据库的一般操作所需的编码量.运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens](    [Id] [int] IDE ...

  4. LINQ to Sql系列二 简单查询和联接查询

    这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果.使用了from-in-select语句,代码如下: public ...

  5. 简单测试linq to sql性能

         前些日子,做了一个物业收费系统,cs模式,用到了linq to sql 技术,这是我第一次使用这个东东写程序存取数据库,迷迷糊糊搞得一塌糊涂,当时有个同学他们找好的分页组件,然后写好了调用方 ...

  6. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  7. 年终巨献 史上最全 ——LINQ to SQL语句

    LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...

  8. LINQ to SQL语句(20)之存储过程

    在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些.下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下. 1.标量返回 在数据库中, ...

  9. LINQ to SQL语句(10)之Insert

    1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. var newCustomer = new Custo ...

随机推荐

  1. 创建httpd启动脚本并加入启动列表开机启动

    第一步: cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd   第二步: vim /etc/init.d/httpd 在第一行#!/bin/s ...

  2. LAMP的安装

    一,LAMP的安装流程:mysql.apache.php或者apache.mysql.php.php放到最后的原因是,php在编译安装的时候是依赖于前2者的. 二,Mysql的安装: 1.下载mysq ...

  3. Android多项目依赖在Eclipse中无法关联源代码的问题解决 Ctril 点不进去的解决方法

    1. 使用快捷键:Ctrl+shift+R,在弹出框中输入.classpath  找到被作为library引入的那个.classpath文件. 2.将kind="src" path ...

  4. Android 启动Service服务和发送Broadcast广播的常用方法

    一.先说Service服务. 1.利用setAction()方法来指定启动的Service服务 Intent intent = new Intent(); intent.setAction(" ...

  5. CentOS 7 启动VNC失败问题

    开机后发现VNC服务没有启启来,提示我们使用journalctl -xn查看错误信息,提示信息如下: Sep :: localhost.localdomain systemd[]: Unit vncs ...

  6. Foundation--NSArray+NSMutableArray

    C语言中数组只能存放一种类型 OC语言中数组可以存放多种类型,但是只能是对象类型,不可以是基本类型 我们实际中最好在一个数组中只存放一种类型的元素 nil表示数组的结尾,所以我们不能填写值为nil的对 ...

  7. Git commit template 模板设定

    多人协作开发一个项目时,版本控制工具是少不了的,git是linux 内核开发时引入的一个优秀代码管理工具,利用它能很好使团队协作完成一个项目.为了规范团队的代码提交,也方便出版本时的release n ...

  8. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  9. If-Modified-Since和If-None-Match

    If-Modified-Since & If-None-MatchIf-Modified-Since,和 Last-Modified 一样都是用于记录页面最后修改时间的 HTTP 头信息,只是 ...

  10. git 的一些使用和命令

    http://git.oschina.net/progit/2-Git-%E5%9F%BA%E7%A1%80.html(pro git)   git branch  (展示本地当前的所有分支,以及当前 ...