Linq to SQL 小结
前天开始看这方面的资料,虽然看了网上对比 sql和linq的速度,万条数据可能要慢1/4左右的数度,但是介于的方便,还是学了
首先看看linq的基本语法:
FROM XX IN DATASOURCE
WHERE 条件表达式
ORDERBY XXXXX
SELECT XX
和T-sql语句很像,只是说顺序有点不一样罢了
我的是VS2012的环境,在项目中添加Linq to sql 的类,后缀是dbml,然后把你的数据库中的表直接拖到界面上就是,对,就是直接拖就可以了,这样好像所谓的ORM(对象关系映射)层就弄好了
这样之后我们就可以通过linq to sql 很简单的去操作数据库了
vs会自动生成一个datacontext的类(又成为上下文类),(根据dbml文件的名字生成的)我这边是linq_notedatacontext
首先我们先来做查询:
linq_noteDataContext l = new linq_noteDataContext();
实例化datacontext
linq_noteDataContext l = new linq_noteDataContext ();
var results = from data in l.note
where data.title = "我的祖国"
select data;
foreach (var d in results)
Response.Write(d.ToString());
插入操作
//插入数据库
db_product_information pdd = new db_product_information(); //实例化你数据库中的一张表,额。。。应该称之为实例化吧
pdd.Product_id = "";
pdd.Product_name = "hrx";
pdd.Product_sum = ;
pdd.support_id = ;
productDataContext pd = new productDataContext(); //datacontext
pd.db_product_information.InsertOnSubmit(pdd); //插入操作
pd.SubmitChanges();//更新到数据库,这个动作,不管是插入删除,还是更新都要
修改操作
//修改数据
productDataContext pd = new productDataContext();
var result = from data in pd.db_product_information
where data.support_id ==
select data;
foreach (var i in result)
{
i.support_id = ;
}
pd.SubmitChanges();
删除操作
//删除数据
productDataContext pd = new productDataContext();
var result = from data in pd.db_product_information
where data.Product_name == "hrx"
select data;
foreach (var i in result)
{
pd.db_product_information.DeleteOnSubmit(i);
pd.SubmitChanges();
}
然后是使用存储过程
同样,我们把存储过程直接拖到dbml设计器上

vs会自动在datacontext派生类里面生成相关的存储过程的调用方法:
我们依然就是直接用就可以了
//使用存储过程
productDataContext pd = new productDataContext();
var result = from data in pd.sp_product() //sp_product是我的存储过程的名字
select data;
foreach (var i in result)
{
listBox1.Items.Add(i.Product_id .ToString()+" "+i.Product_name .ToString ()+" "+i.Product_sum .ToString ()+" "+i.support_id .ToString ());
}
这些操作我想做中小项目应该是够了吧?
还有延迟加载什么的我看不懂。。
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语句(19)之ADO.NET与LINQ to SQL
它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...
- LINQ to SQL语句(18)之运算符转换
运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...
- LINQ to SQL语句(17)之对象加载
对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...
- LINQ to SQL语句(14)之Null语义和DateTime
Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...
- LINQ to SQL语句(10)之Insert
1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. var newCustomer = new Custo ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
随机推荐
- Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)
这题做得比较复杂..应该有更好的做法 题目大意: 有一个括号序列,可以对其进行两种操作: · 向里面加一个括号,可以在开头,在结尾,在两个括号之间加. · 对当前括号序列进 ...
- 从APNIC提取IP信息
从APNIC提取IP信息 https://blog.csdn.net/nullzeng/article/details/17538009 Apnic介绍简而言之,Apnic是全球5个地区级的Inter ...
- [LOJ #6433]「PKUSC2018」最大前缀和
题目大意:给你一个$n(n\leqslant20)$项的数列$A$,设重排后的数列为$A'$,令$pre_p=\sum\limits_{i=1}^pA'_i$,求$max\{pre_i\}$的期望,乘 ...
- ubuntu简易教程(如何使用noi linux)
目录 linux环境下的基础操作 命令行操作 编辑器 程序编译 程序调试 gdb的使用 对拍 在提高组的考试中要求使用noi linux,因此了解一下如何在linux环境下编程是很有必要的. linu ...
- [AHOI2014/JSOI2014]支线剧情 有上下界费用流
---题面--- 题解: 第一眼费用流,,然后想了好久怎么建图,,,最后发现是最小费用可行流的板子题.... 其实还没有很懂这个算法,所以这里只是摆一下步骤,以后再补理解吧. 首先一个思路就是转换图, ...
- 【POJ2728】Desert King(分数规划)
[POJ2728]Desert King(分数规划) 题面 vjudge 翻译: 有\(n\)个点,每个点有一个坐标和高度 两点之间的费用是高度之差的绝对值 两点之间的距离就是欧几里得距离 求一棵生成 ...
- BZOJ2226 & SPOJ5971:LCMSum——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2226 题目大意:给定一个n,求lcm(1,n)+lcm(2,n)+……+lcm(n,n). ———— ...
- HDU4812 D tree 【点分治 + 乘法逆元】
D树 时间限制:10000/5000 MS(Java / Others)内存限制:102400/102400 K(Java / Others) 总共提交5400个已接受的提交1144 问题描述 南京理 ...
- 浴谷夏令营例题Codeforces827DBest Edge Weight(三个愿望,一次满足~(大雾
这题在浴谷夏令营wyx在讲的最小生成树的时候提到过,但并没有细讲怎么写... 这题可以用三种写法写,虽然只有两种能过...(倍增/倍增+并查集/树链剖分 先跑出最小生成树,分类讨论,在MST上的边,考 ...
- JAVA List集合转Page(分页对象)
/** * @version 1.0 * @author: fwjia */ import java.util.List; public class PageModel<T> { /*** ...