явність згаданіх проблем про єктно-реляційного відображення, часто звання про єктно-реляційною Втратили відповідності, протягом ряду років прізвело до з'явився широкий розмаїття готових програмних ORM-РІШЕНЬ. LINQ to SQL - це реалізація ORM початково уровня від Microsoft на Основі LINQ, призначе для роботи з SQL Server.це запит інтегрованій в мову програмування Який дозволяє писати Безпечні структуровані Предложения до локальних колекціях обєктів та віддаленіх джерел даних. появился в NET Framework версії 3.5, Який значний розшірює возможности синтаксису мов C # и Visual Basic. LINQ надає Стандартні, Прості у вивченні шаблони для запиту и Зміни даних І ТЕХНОЛОГІЇ, Які могут буті розшірені для ПІДТРИМКИ практично будь-которого типом джерела даних. До складу Visual Studio входять Збірки ресурсов LINQ, Які зображені на малюнку 2.1, для использование LINQ з колекціямі .NET Framework, базами даних SQL Server, наборами даних ADO.NET и XML-документами.
Рис. 2.1 Концепція технології LINQ
Спочатку підтрімуючі Механізм Запитів для колекцій про єктів в пам яті, реляційніх баз даних и даних у форматі XML, LINQ володіє розшірюваною архітектурою, яка дозволяє Стороннім розробник реалізуваті доступ до їх Сховище даних через Механізм LINQ. Для цього необходимо реалізуваті Стандартні оператори Запитів, вікорістовуючі методи Розширення, или реалізуваті інтерфейс IQueryable, что дозволяє розбіраті дерево вираженість во время виконан, транслюючі его в свою мову Запитів. У спільноті існує приклад корістувальніцької реализации стандартних Операторів Запитів. Например, LINQ to SQL, Який перетворює LINQ-вирази в SQL-запит до бази даних, вікорістовує возможности компілятора для побудова дерева виразів, грунтуючись на контексті програми, а не створюючі делегатів функцій. Отримавших дерево виразів, что опісує запит, спеціалізований провайдер бази даних может его проаналізуваті и превратить в запит на відповідній мові для бази даних, например Microsoft SQL Server, Jet (яка вікорістовується в Microsoft Access) або будь-який Інший [6, 7].
Більшість ІНСТРУМЕНТІВ ORM намагають абстрагуваті фізічну базу даних у виде бізнес-об єктів. З такою абстракцією іноді втрачається можлівість виконан Запитів SQL, Які становляит значний часть абстракції реляційніх баз даних. Саме це відрізняє LINQ to SQL від більшості его аналогів. Ми не только отрімуємо зручність у виде бізнес-об єктів, Які відображаються на базу даних, но такоже отрімуємо повноцінну мову Запитів, подібний SQL, приклад якої Дуже добре зображено на малюнку 2.2.
Рис. 2.2 Концепція роботи LINQ to SQL
У LINQ to SQL модель даних реляційної бази даних зіставляється про єктної моделі, віраженої в мові програмування розробника. При віконанні програми LINQ to SQL перетворює інтегровані в мову Предложения з про єктної моделі в SQL и відправляє їх до бази даних для виконан. Колі база даних Повертає результати, LINQ to SQL перетворює їх назад в об'єкти, з Якими можна працювати на власній мові програмування.
Користувачі середовища Visual Studio, як правило, корістуються конструктором Реляційній конструктор об'єктів, Який надає корістувальніцькій інтерфейс для реализации багатьох функцій LINQ to SQL [7].
загаль, LINQ to SQL - інструмент ORM початково уровня, что дозволяє Виконувати потужні SQL-запиту.
Технологію LINQ to SQL часто Використовують в Розробка програмного забезпечення. Во время навчання про Цю технологію згадають поверхнево, та не розглядають основних Принципів на якіх базується ця технологія та механізмів ее роботи. Доцільність розробки Засоби візуалізації, Полягає в надані студентам знань та навічок использование технології LINQ to SQL при створенні програмного забезпечення візуалізуючі процеси роботи технології LINQ to SQL.
Методика! застосування LINQ to SQL при розробці програмного забезпечення засобими Visual Studioto SQL - складаний тема, и будь-які приклада вімагають участия багатьох елементів LINQ to SQL.- це клас, Який встановлює з'єднання з базою даних. ВІН такоже надає кілька служб, Які зображені на малюнку 2.3, что забезпечують відстеження ідентічності, відстеження змін і обробка ціх змін.
У LINQ to SQL Прийнято використовуват клас, похідній від DataContext. Ім я похідного класу зазвічай збігається з ім ям бази даних, на якові ВІН Відображається. Нехай на цею похідній клас будемо посілатіся як на [Your] DataContext, оскількі его имя покладів від бази даних, для якої ВІН Створений.
У наведенні прикладах похідній від DataContext клас буде назіватіся Northwind. Для его побудова застосовувався інструмент SqlMetal, что входити до складу Visual Studio, Який генерує класи відображення на Основі бази даних SQL Server.
Рис. 2.3 Концепція функцій DataContext
Цей похідній від DataContext клас, [Your] DataContext, зазвічай буде мати загальнодоступне властівість Таblе lt; Т g...