LINQ تحت عنوان یک گویش کارکشته برای رئیس داده ها به .NET اضافه شد. طراحی اپلیکیشن برای مثال LINQ to SQL با به کار گیری ازEntity Framework به شما این قابلیت را میدهد با DBMS به سهولت کلام فرمایید. البته اکثر زمان ها هنگام به کارگیری از آن، بسطدهندگان فراموش مینمایند که پژوهش نمایند چه نوع query SQl ای به وسیله provider ای که قابلیت و امکان کوئری زدن دارااست، ایجاد میگردد (در نمونه ما Entity Framework). درین نوشتهی علمی ما پژوهش خواهیم کرد که چهطور قادر خواهیم بود کارایی کوئریهای LINQ را با صرفه کنیم.
پیاده سازی
بیایید با به کارگیری از یک نمونه دونکته اساسی را رسیدگی کنیم.
آغاز بایستی مقر داده Test را در SQL Server ساختوساز کنیم. دراین دیتابیس با اجرای کوئری پایین دو جدول ساختوساز خوا هیم شد.
USE [TEST]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Ref](
[ID] [int] NOT NULL,
[ID2] [int] NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[InsertUTCDate] [datetime] NOT NULL,
CONSTRAINT [PK_Ref] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Ref] ADD CONSTRAINT [DF_Ref_InsertUTCDate] DEFAULT (getutcdate()) FOR [InsertUTCDate]
GO
USE [TEST]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Customer](
[ID] [int] NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[Ref_ID] [int] NOT NULL,
[InsertUTCDate] [datetime] NOT NULL,
[Ref_ID2] [int] NOT NULL,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Ref_ID] DEFAULT ((0)) FOR [Ref_ID]
GO
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_InsertUTCDate] DEFAULT (getutcdate()) FOR [InsertUTCDate]
GO
حال جدول Ref را به یاری script پایین پرمی کنیم. شکیبایی نمایید... ما تنها یک script را انجام کردیم البته آن را ذخیره نکردیم. در اینگونه مواقعی، SQL Complete به امداد Devart بسیار ریلکس خواهد بود، که با SSMS و Visual Studio ترکیب میگردد و دارنده خصوصیت Execution History میباشد.
LINQ تحت عنوان یک گویش کارکشته برای رئیس داده ها به .NET اضافه شد. طراحی اپلیکیشن برای مثال LINQ to SQL با به کار گیری ازEntity Framework به شما این قابلیت را میدهد با DBMS به سهولت کلام فرمایید. البته اکثر زمان ها هنگام به کارگیری از آن، بسطدهندگان فراموش مینمایند که پژوهش نمایند چه نوع query SQl ای به وسیله provider ای که قابلیت و امکان کوئری زدن دارااست، ایجاد میگردد (در نمونه ما Entity Framework). درین نوشتهی علمی ما پژوهش خواهیم کرد که چهطور قادر خواهیم بود کارایی کوئریهای LINQ را با صرفه کنیم.
پیاده سازی
بیایید با به کارگیری از یک نمونه دونکته اساسی را رسیدگی کنیم.
آغاز بایستی مقر داده Test را در SQL Server ساختوساز کنیم. دراین دیتابیس با اجرای کوئری پایین دو جدول ساختوساز خوا هیم شد.
USE [TEST]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Ref](
[ID] [int] NOT NULL,
[ID2] [int] NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[InsertUTCDate] [datetime] NOT NULL,
CONSTRAINT [PK_Ref] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Ref] ADD CONSTRAINT [DF_Ref_InsertUTCDate] DEFAULT (getutcdate()) FOR [InsertUTCDate]
GO
USE [TEST]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Customer](
[ID] [int] NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[Ref_ID] [int] NOT NULL,
[InsertUTCDate] [datetime] NOT NULL,
[Ref_ID2] [int] NOT NULL,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Ref_ID] DEFAULT ((0)) FOR [Ref_ID]
GO
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_InsertUTCDate] DEFAULT (getutcdate()) FOR [InsertUTCDate]
GO
حال جدول Ref را به یاری script پایین پرمی کنیم. شکیبایی نمایید... ما تنها یک script را انجام کردیم البته آن را ذخیره نکردیم. در اینگونه مواقعی، SQL Complete به امداد Devart بسیار ریلکس خواهد بود، که با SSMS و Visual Studio ترکیب میگردد و دارنده خصوصیت Execution History میباشد.