Linq to SQL之查询和添加

本文以Northwind数据库中的Customers和Orders表为例说明Linq to SQL的查询和添加是怎样操作的。

首先通过Linq to SQL File向导创建DataContext以及相应的Entity Class,如果不知道怎样做请看这 里:Defining data model classes

创建一个Customer对象,然后把该数据添加到数据库中去。

 NorthwindDataContext ctx = new NorthwindDataContext();

  Customer c = new Customer { CustomerID = "Test1",
    CompanyName = "Test Company1" };

  ctx.Customers.Add(c);

  ctx.SubmitChanges();

运行这段代码,在sql profile中可以看到

 exec sp_executesql N'INSERT INTO [dbo].[Customers]([CustomerID],  [CompanyName], [ContactName]...

这条sql语句,说明数据插入到Customer表中。然后再运行下面这段代码,看看能不能把刚才添加的数 据从数据库中查询出来

 Customer c1 = ctx.Customers.Single(c => c.CustomerID == "Test1");
  Console.WriteLine(c1.CustomerID + " " + c1.CompanyName);

运行这段代码后,在sql profile中可以看到执行了这条sql语句

 exec sp_executesql N'SELECT [t0].[CustomerID], [t0].[CompanyName], [t0]. [ContactName]...

屏幕上也打印出正确的结果

时间: 2024-11-20 01:42:33

Linq to SQL之查询和添加的相关文章

论道Windows Phone(四) LINQ to SQL的查询

有一天,一个读者给我发邮件,问我是否有兴趣做一个翻译应用,根据<美食译苑--中文菜单英文译法>把中文菜名译成英文菜名,因 为他经常和老外吃饭,所以希望他的WP手机上能有一个这样的应用,而我们则正好借此机会探索LINQ to SQL的查询以及相关的优化技巧. 使用现有的数据库 Windows Phone 7.5新增了对SQL Server CE数据库的支持,但Visual Studio 2010没有为Windows Phone的 项目提供数据库的工具支持,比如表的设计和实体类的生成等,另外,数据

LINQ to SQL之面向对象的添加、查询、更新和删除

介绍 以Northwind为示例数据库,DLINQ(LINQ to SQL)之完全面向对象的添加操作.查询操作.更新操作和删除操作 示例 Sample.aspx <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile= "Sample.aspx.cs" Inherits="LINQ_DLINQ_S

LINQ to SQL异步查询

异步操作是提高Web应用程序吞吐量的重要手段,关于这方面的话题已经在前 文<正确使用异步操作>中解释过了.对于大多数互联网应用来说,性能瓶颈数 据库访问.换句话说,一个请求在数据库操作上所花的时间往往是最多的 --并且占总时间的90%以上.因此,当Web应用程序的吞吐量因为数 据库操作的阻塞而受到影响的话,我们可是尝试使用异步数据库操作来进行优化 . 如果我们使用LINQ to SQL,在默认情况下是无法实现异步查询的,所 有的操作都非常自然--异步是不自然的,因为它把连续的操作拆成 了两段.

艾伟_转载:打造优雅的Linq To SQL动态查询

首先我们来看看日常比较典型的一种查询Form 这个场景很简单:就是根据客户名.订单日期.负责人来作筛选条件,然后找出符合要求的订单. 在那遥远的时代,可能避免不了要写这样的简单接口: public interface IOrderService{ IList<Order> Search(string customer, DateTime dateFrom, DateTime dateTo, int employeeID);} 具体爱怎么实现就怎么实现啦,存储过程,ORM框架.这里假定是用了孩童

Linq to SQL之删除

本文接着前面的文章Linq to SQL之查询和添加和Linq to SQL之更新,以Northwind为例子,介绍使用 Linq to SQL怎样进行删除数据. 首先以Customers表的一行数据为例,进行数据删除: NorthwindDataContext ctx = new NorthwindDataContext(); Customer test1 = ctx.Customers.Single(c => c.CustomerID == "TEST1"); ctx.Cus

Linq to SQL之更新

本文接着上篇Linq to SQL之查询和添加,还是以Northwind数据库为例,介绍使用Linq to SQL怎样对 数据库的数据进行更新及冲突的相关问题. 首先对Customers表的一条记录进行更新: NorthwindDataContext ctx = new NorthwindDataContext(); Customer alfki = ctx.Customers.Single(c => c.CustomerID == "ALFKI"); Console.Write

Linq To SQL下实现动态表名的映射

提出问题 前段时间,在博客园里看到有位朋友,问如何实现在动态表名.我们都知道,把一个实体类映谢到表 里,应该这样写: [Table(Name = "User")] class User { [Column] public int ID; [Column] public string Name; } 很明显,这里的表名是写死的,有些时候,我们可能要根据不同的情况实现不同的表名 里加个前缀或者后缀,例如: tt_User,aa_User,User1.User2. 分析问题 要解决这个问题,

LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题_MsSql

  如果表中的字段类型为 char(1) 时,Linq to SQL生成char (System.Char)的属性,如下图 表定义 生成的实体 2. 如果要查询LineCode=='A'的记录,可以这样定义Linq查询语句 var test1 = from p in db.ProductLines             where p.LineCode =='A'             select p; 生成的SQL语句是这样的 SELECT [t0].[LineCode], [t0].[

LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题

如果表中的字段类型为 char(1) 时,Linq to SQL生成char (System.Char)的属性,如下图 表定义 生成的实体 2. 如果要查询LineCode=='A'的记录,可以这样定义Linq查询语句 var test1 = from p in db.ProductLines             where p.LineCode =='A'             select p; 生成的SQL语句是这样的 SELECT [t0].[LineCode], [t0].[Li