Создайте на сервере базу данных abc, таблицу Number и заполните ее.
Script.sql
CREATE DATABASE abc; GO USE abc; GO CREATE TABLE Number ( IDNumber INT NOT NULL PRIMARY KEY IDENTITY(1, 1), digit INT NOT NULL ) GO INSERT INTO Number(digit) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11)
CREATE DATABASE abc; GO USE abc; GO CREATE TABLE Number ( IDNumber INT NOT NULL PRIMARY KEY IDENTITY(1, 1), digit INT NOT NULL ) GO INSERT INTO Number(digit) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11)
Добавьте файл LINQ to SQL Classes.
Откройте Server Explorer, создайте соединение с базой данных. Перетащите нужную таблицу в окно созданного файла LINQ to SQL Classes. В нашем примере, это файл DataClasses1.dbml.
Visual Studio сгенерировала класс, который соответствует выбранной таблице. В нашем примере, это класс Number.
Visual Studio сгенерировала строку подключения в файле конфигурации App.config. Измените название подключения, в нашем примере это abc.
App.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="abc" connectionString="Data Source=BISEM\MSSQLSERVER2012;Initial Catalog=abc;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="abc" connectionString="Data Source=BISEM\MSSQLSERVER2012;Initial Catalog=abc;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
Main.cs
using System; //добавить ссылку using System.Linq; //добавить ссылку //подключить пространство имен using System.Configuration; using System.Data; using System.Data.Linq; //добавить ссылку using System.Data.Linq.Mapping; //добавить ссылку, где находится класс Number using _0003; class Program { public static int Main() { //string connectionString = @"Data Source=BISEM\MSSQLSERVER2012;Initial Catalog=abc;Integrated Security=True"; //DataContext db = new DataContext(string connectionString); //или string connectionString = ConfigurationManager.ConnectionStrings["abc"].ConnectionString; DataContext db = new DataContext(connectionString); Table<Number> Numbers = db.GetTable<Number>(); //создание запроса var query = from val in Numbers where (val.digit % 2 == 0) && (val.digit > 6) select val; //выполнение запроса foreach(var i in query) { Console.Write("{0} ", i.digit); } Console.WriteLine(); Console.ReadKey(); return 0; } }
using System; //добавить ссылку using System.Linq; //добавить ссылку //подключить пространство имен using System.Configuration; using System.Data; using System.Data.Linq; //добавить ссылку using System.Data.Linq.Mapping; //добавить ссылку, где находится класс Number using _0003; class Program { public static int Main() { //string connectionString = @"Data Source=BISEM\MSSQLSERVER2012;Initial Catalog=abc;Integrated Security=True"; //DataContext db = new DataContext(string connectionString); //или string connectionString = ConfigurationManager.ConnectionStrings["abc"].ConnectionString; DataContext db = new DataContext(connectionString); Table<Number> Numbers = db.GetTable<Number>(); //создание запроса var query = from val in Numbers where (val.digit % 2 == 0) && (val.digit > 6) select val; //выполнение запроса foreach(var i in query) { Console.Write("{0} ", i.digit); } Console.WriteLine(); Console.ReadKey(); return 0; } }
8 10