ву інтегрованих запитів в C # 2008 для професіоналів» Джозеф Раттц, експерт в області технологій. NET, пише «Клас DataContext тра?? Слірі ваші запити сутнісних класів у оператори SQL, які виконуються на підключеної базі даних. Похідний від DataContext клас [Your] DataContext надає доступ у цілої групи методів бази даних, таких як ExecuteQuery, ExecuteCommand і SubmitChanges. На додаток до цих успадкованим методам клас [Your] DataContext міститиме властивості типу System.Data.Linq.Table для кожної табліциі подання в базі даних, з якою ви маєте на меті використовувати LINQ to SQL ».
Таким чином, вся база даних являє собою об'єкт, користувальницького класу, успадкованого від класу DataContext. Де таблиці бази даних будуть властивостями цього об'єкта. Таке відображення бази даних в об'єктну модель називається технологією програмування, яка пов'язує бази даних з концепціями об'єктно-орієнтованих мов програмування. Така технологія бази даних, дозволяє дуже глибоко інтегрувати базу даних в платформу, на якій пишеться додаток. Що має свої плюси: зменшує час, витрачений на написання програми, зменшує кількість помилок в коді і т.д. Однак, робота з LINQ to SQL, можливий тільки в тому випадку, якщо ми заздалегідь знаємо СУБД, яким буде управлятися база даних. Причому, на даний момент, підтримується тільки СУБД Microsoft SQL Server (у тому числі і безкоштовні версії Microsoft SQL Server Express). Розробник програми не завжди володіє вичерпною інформацією про базу даних, з якою працюватиме що розробляється. У такому випадку, доцільно використовувати дві технології для доступу до даних: ADO.NET і LINQ (зокрема LINQ to DataSet). Як вже говорилося вище, DataSet автономний клас ADO.NET, призначений для зберігання даних в моделі отсоединенного від бази даних програмування. LINQ to DataSet дозволяє конструювати запити для DataSet [9].
Головні переваги ADO.NET:
· Дозволяє працювати з різними джерелами даних. Розробник програми може і не знати, яке СУБД буде у бази даних, з яким працюватиме його додаток, йому досить буде поміняти постачальника даних.
· Наявність автономних об'єктів дозволяють підвищити продуктивність і знизити навантаження на СУБД.
До недоліків ADO.NET можна віднести обмежені можливості для роботи із запитами одного з найбільш широко використовуваного компонента - DataSet.
Головні переваги LINQ:
· за певних умов дозволяє провести глибоку інтеграцію бази даних і додатки;
· значно прискорює процес написання запитів до бази даних, за рахунок, розширення синтаксису мов C # і Visual Basic;
· надає компоненти для зручної роботи не тільки з базами даних, але і об'єктами, XML-документами і т.д.
До недоліків LINQ можна віднести - багато функціональні можливості обмежені тільки СУБД SQL Server.
Обидві технології відмінно поєднуються, і таким чином практично закривають недоліки один одного.
Таким чином, коли додаток буде працювати тільки з СУБД MS SQL Server і надалі не планується мігрувати на іншу СУБД, то доцільно буде використовувати LINQ to SQL, з повним застосуванням технології програмування, яка пов'язує бази даних з концепціями об'єктно-орієнтованих мов програмування, створюючи «віртуальну об'єктну базу даних». Існують...