• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

我们将共同携手迎接你的到来!


新的一年
新的开始
新的目标
新的收获

kevin 愛戀 20140103

博客园          联系   管理     

随笔分类 -  .NET C#

上一页 1 2 3 下一页
Linq to sql(五):存储过程(一)

摘要:普通存储过程 首先在查询分析器运行下面的代码来创建一个存储过程:create proc sp_singleresultsetasset nocount onselect * from customers 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singlere... 阅读全文
posted @ 2010-06-01 13:35 kevin_20131022 阅读(203) 评论(0) 推荐(0)
Linq to sql(五):存储过程(二)

摘要:带参数的存储过程 创建如下存储过程:create proc [dbo].[sp_withparameter]@customerid nchar(5),@rowcount int outputasset nocount onset @rowcount = (select count(*) from customers where customerid = @customerid) 使用同样的方法生成... 阅读全文
posted @ 2010-06-01 13:34 kevin_20131022 阅读(227) 评论(0) 推荐(0)
Linq to sql(五):存储过程(三)

摘要:2010年05月11日 星期二 16:06多结果集的存储过程 再来创建一个多结果集的存储过程:create proc [dbo].[sp_multiresultset]asset nocount onselect * from customersselect * from employees 找到生成的存储过程方法:[Function(Name="dbo.sp_multiresultset")] ... 阅读全文
posted @ 2010-06-01 13:33 kevin_20131022 阅读(230) 评论(0) 推荐(0)
Linq to sql(五):存储过程(四)

摘要:使用存储过程新增数据 存储过程除了可以直接调用之外,还可以用于实体的增删改操作。还记得在《一步一步学Linq to sql(三):增删改》中创建的留言簿程序吗?下面我们就来改造这个程序,使用存储过程而不是系统生成的SQL实现实体增删改。首先,我们创建下面的存储过程create proc sendmessage@username varchar(50),@message varchar(500)as... 阅读全文
posted @ 2010-06-01 13:32 kevin_20131022 阅读(245) 评论(0) 推荐(0)
Linq to sql(五):存储过程(五)

摘要:使用存储过程删除数据 创建如下存储过程:create proc delmessage@id uniqueidentifierasdelete tbguestbook where id=@id 按照前面的步骤生成存储过程方法,并为删除操作执行这个存储过程方法。在选择参数的时候我们可以看到,ID分当前值和原始值,我们选择当前值即可,如下图: 无须改动任何逻辑代码,进行删除留言操作后可以跟踪到下面的SQ... 阅读全文
posted @ 2010-06-01 13:31 kevin_20131022 阅读(203) 评论(0) 推荐(0)
Linq to sql(五):存储过程(六)

摘要:使用存储过程更改数据 创建如下存储过程:create proc replymessage@id uniqueidentifier,@reply varchar(500)asupdate tbguestbook set reply=@reply,isreplied=1 where id=@id 由于更新的时候并不会更新主键,所以我们可以为两个参数都指定当前值。回复留言后可以跟踪到下面的SQL:EXE... 阅读全文
posted @ 2010-06-01 13:30 kevin_20131022 阅读(191) 评论(0) 推荐(0)
Linq to sql(六):探究特性(一)

摘要:延迟执行 IQueryable query = from c in ctx.Customers select c; 这样的查询句法不会导致语句立即执行,它仅仅是一个描述,对应一个SQL。仅仅在需要使用的时候才会执行语句,比如: IQueryable query = from c in ctx.Customers select c; foreach (Customer c in query) Res... 阅读全文
posted @ 2010-06-01 13:25 kevin_20131022 阅读(214) 评论(0) 推荐(0)
Linq to sql(六):探究特性(二)

摘要:DataLoadOptions var products = from p in ctx.Products select p; foreach (var p in products) { if (p.UnitPrice > 10) ShowDetail(p.Order_Details); } private void ShowDetail(EntitySet<Order_Detail... 阅读全文
posted @ 2010-06-01 13:24 kevin_20131022 阅读(168) 评论(0) 推荐(0)
Linq to sql(六):探究特性(三)

摘要:DataLoadOptions var products = from p in ctx.Products select p; foreach (var p in products) { if (p.UnitPrice > 10) ShowDetail(p.Order_Details); } private void ShowDetail(EntitySet<Order_Detail... 阅读全文
posted @ 2010-06-01 13:24 kevin_20131022 阅读(143) 评论(0) 推荐(0)
Linq to sql(六):探究特性(四)

摘要:主键缓存 Linq to sql对查询过的对象进行缓存,之后的如果只根据主键查询一条记录的话会直接从缓存中读取。比如下面的代码: Customer c1 = ctx.Customers.Single(customer => customer.CustomerID == "ANATR"); c1.ContactName = "zhuye"; Customer c2 = ctx.Customer... 阅读全文
posted @ 2010-06-01 13:23 kevin_20131022 阅读(201) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(一)

摘要:检测并发 首先使用下面的SQL语句查询数据库的产品表:select * from products where categoryid=1 查询结果如下图: 为了看起来清晰,我已经事先把所有分类为1产品的价格和库存修改为相同值了。然后执行下面的程序: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreac... 阅读全文
posted @ 2010-06-01 13:22 kevin_20131022 阅读(232) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(二)

摘要:解决并发 如果你希望自己处理并发的话可以把前面对列的定义修改先改回来,看下面的例子: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreach (var p in query) p.UnitsInStock = Convert.ToInt16(p.UnitsInStock - 1); try { ctx... 阅读全文
posted @ 2010-06-01 13:21 kevin_20131022 阅读(208) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(三)

摘要:事务处理 Linq to sql在提交更新的时候默认会创建事务,一部分修改发生错误的话其它修改也不会生效: ctx.Customers.Add(new Customer { CustomerID = "abcdf", CompanyName = "zhuye" }); ctx.Customers.Add(new Customer { CustomerID = "abcde", CompanyNam... 阅读全文
posted @ 2010-06-01 13:20 kevin_20131022 阅读(230) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(一)

摘要:论坛表结构 为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表:1、 论坛版块分类表 dbo.Categories:字段名字段类型可空备注CategoryIDintnot nullidentity/主键CategoryNamevarchar(50)not null2、 论坛版块表 dbo.Boards:字段名字段类型可空备注BoardIDintnot nullidentity/主键B... 阅读全文
posted @ 2010-06-01 13:19 kevin_20131022 阅读(143) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(二)

摘要:实体继承的定义 Linq to sql支持实体的单表继承,也就是基类和派生类都存储在一个表中。对于论坛来说,帖子有两种,一种是主题贴,一种是回复帖。那么,我们就先定义帖子基类:[Table(Name = "Topics")]public class Topic{ [Column(Name = "TopicID", DbType = "int identity", IsPrimaryKey = tr... 阅读全文
posted @ 2010-06-01 13:18 kevin_20131022 阅读(148) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(三)

摘要:实体继承的使用 定义好继承的实体之后,我们就可以使用了。先是自定义一个DataContext吧:public partial class BBSContext : DataContext{ public Table<BoardCategory> BoardCategories; public Table<Board> Boards; public Table<Topi... 阅读全文
posted @ 2010-06-01 13:17 kevin_20131022 阅读(177) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(四)

摘要:实体关系的定义比如我们的论坛分类表和论坛版块表之间就有关系,这种关系是1对多的关系。也就是说一个论坛分类可能有多个论坛版块,这是很常见的。定义实体关系的优势在于,我们无须显式作连接操作就能处理关系表的条件。 首先来看看分类表的定义:[Table(Name = "Categories")]public class BoardCategory{ [Column(Name = "CategoryID",... 阅读全文
posted @ 2010-06-01 13:16 kevin_20131022 阅读(157) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(五)

摘要:实体关系的使用 好了,现在我们就可以在查询句法中直接关联表了(数据库中不一定要设置表的外键关系): Response.Write("-------------查询分类为1的版块-------------<br/>"); var query1 = from b in ctx.Boards where b.Category.CategoryID == 1 select b; foreach... 阅读全文
posted @ 2010-06-01 13:03 kevin_20131022 阅读(207) 评论(0) 推荐(0)
Linq to sql(九):其它补充(一)

摘要:外部映射文件 我们可以使用sqlmetal命令行工具来生成外部映射文件,使用方法如下:1、开始菜单 -》 VS2008 -》VS工具 -》VS2008命令行提示2、输入命令:D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=xxx;database=Northwind;uid=xxx;pwd=xxx /... 阅读全文
posted @ 2010-06-01 13:01 kevin_20131022 阅读(142) 评论(0) 推荐(0)
Linq to sql(九):其它补充(二)

摘要:已编译查询 对于一些在项目中经常被用到的查询可以封装成已编译查询,这样就能提高执行效率:static class Queries{ public static Func<NorthwindDataContext, string, IQueryable<Customer>> CustomersByCity = CompiledQuery.Compile((NorthwindD... 阅读全文
posted @ 2010-06-01 13:01 kevin_20131022 阅读(171) 评论(0) 推荐(0)

上一页 1 2 3 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3