linq to sql简单使用
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简单使用的更多相关文章
- MVC 学习(二)之Linq to Sql 简单Demo
Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查.Linq to sql 与Linq to Entities虽然同属于DataBase- ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
- Linq to SQL 简单增删改查
用Linq大大减少了对数据库的一般操作所需的编码量.运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens]( [Id] [int] IDE ...
- LINQ to Sql系列二 简单查询和联接查询
这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果.使用了from-in-select语句,代码如下: public ...
- 简单测试linq to sql性能
前些日子,做了一个物业收费系统,cs模式,用到了linq to sql 技术,这是我第一次使用这个东东写程序存取数据库,迷迷糊糊搞得一塌糊涂,当时有个同学他们找好的分页组件,然后写好了调用方 ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- 年终巨献 史上最全 ——LINQ to SQL语句
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...
- LINQ to SQL语句(20)之存储过程
在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些.下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下. 1.标量返回 在数据库中, ...
- LINQ to SQL语句(10)之Insert
1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. var newCustomer = new Custo ...
随机推荐
- Visual Studio® 2010 Web Deployment Projects站点编译生成bin同时发表插件
VS2010环境下: 1.Visual Studio® 2010 Web Deployment Projects下载地址: http://www.microsoft.com/downlo ...
- VLC-Android和VLC几个关键宏定义的分析
在用SourceInsight分析VLC-Android源码过程中,有几个宏定义在源代码中一直没有找到出处,比如 HAVE_DYNAMIC_PLUGINS和__PLUGIN__,以及MODULE_NA ...
- css直接写出小三角
在开发移动端项目时,总是遇到很多小三角,之前一直用图片,感觉好麻烦,今天尝试了直接用CSS写出小三角!先看看如何写出各种小三角! /*箭头向上*/ .arrow-up { ; ; border-lef ...
- OS X EI Capitan 安装mysql-5.7.9
先去下载mysql-5.7.9-osx10.9-x86_64.dmg安装(一直下一步,输入密码即可)mysql-5.7.9-osx10.9-x86_64.pkg好了,启动MySQL服务. Untitl ...
- 在美国公司架构中,LLC、LLP 和 Corporation 的区别何在?
这个问题,首先需要弄清楚这样一个事实:LLC.LLP.Corporation分别属于三种不同类型的公司实体. 1,LLC (Limited Liability Company)是责任有限公司: 2,L ...
- EntityFramework sum嵌套
一个查询中 用到了 sum , 可是返回结果的小数有很多位 , 都不准确了..类似js中的小数运算一样...不太熟悉C#,不知道这问题是因为double的关系 , 还是因为代码写的问题 , 通过 sq ...
- php中的短标签 太坑人了
今天配置了一个php页面去修改svn密码问题,结果调了半天,最后在Windows和 Linux的运行现象是不一样,运行结果更不一样了,关键是完全一模一样的代码. 最后发现是短标签引起的,Windows ...
- Angular中Controller之间的信息传递(第二种办法):$emit,$broadcast,$on
$emit只能向parent controller传递event与data( $emit(name, args) ) $broadcast只能向child controller传递event与data ...
- spring:ContextLoaderListener接口
在启动Web容器时,自动装配Spring applicationContext.xml的配置信息. 因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启 ...
- Python爬虫实战(3):安居客房产经纪人信息采集
1, 引言 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的“独 ...