xiacy

导航

1.4.3 LINQ to SQL 对数据库应用查询表达式

/****** Object:  Table [dbo].[Product]    Script Date: 04/24/2012 23:58:49 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Product]') AND type in (N'U'))
DROP TABLE [dbo].[Product]
GO

USE [C:\USERS\JON\DOCUMENTS\COMPUTING\AUTHORING\CSHARP 2 AND 3\BOOK\CODE\DATABASES\LINQDEMO.MDF]
GO

/****** Object:  Table [dbo].[Product]    Script Date: 04/24/2012 23:58:49 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Product](
    [ProductID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
    [Price] [decimal](18, 2) NOT NULL,
    [SupplierID] [int] NOT NULL
) ON [PRIMARY]

GO


/****** Object:  Table [dbo].[Supplier]    Script Date: 04/24/2012 23:58:55 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Supplier]') AND type in (N'U'))
DROP TABLE [dbo].[Supplier]
GO

USE [C:\USERS\JON\DOCUMENTS\COMPUTING\AUTHORING\CSHARP 2 AND 3\BOOK\CODE\DATABASES\LINQDEMO.MDF]
GO

/****** Object:  Table [dbo].[Supplier]    Script Date: 04/24/2012 23:58:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Supplier](
    [SupplierID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL
) ON [PRIMARY]

GO
添加 LINQ to SQL 文件,配置数据库连接,之后把两个表拖到界面上,后台类名改为 LinqDemoDataContext
 
            using (LinqDemoDataContext db = new LinqDemoDataContext())
            {
                var filtered = from p in db.Product
                               join s in db.Supplier
                                  on p.SupplierID equals s.SupplierID
                               where p.Price > 10
                               orderby s.Name, p.Name
                               select new
                               {
                                   SupplierName = s.Name,
                                   ProductName = p.Name
                               };
                foreach (var v in filtered)
                {
                    Console.WriteLine("Supplier={0};Product={1}", v.SupplierName, v.ProductName);
                }
            }

 

posted on 2012-04-25 00:01  xiacy  阅读(267)  评论(0编辑  收藏  举报