LINQ към SQL

LINQ към SQL изпълнение predostavlyaetinfrastrukturu за управление на релационни данни като обекти. VLINQ за SQL релационни данни модел на базата данни е свързан с модела на обекта изразено на езика за програмиране на предприемача. При извършване на prilozheniyaLINQ за SQL превежда езика интегрирани заявки в модела на обекта в SQL и ги изпраща на база данни за изпълнение. Когато базата данни се връща резултатите, LINQ към SQL ги преобразува обратно в обекти, които могат да бъдат контролирани.

LINQ към SQL включва поддръжка за съхранени процедури, дефинирани от потребителя функции в базата данни, както и наследството в модела на обекта.

Първи стъпки (LINQ към SQL)

С LINQ към SQL, можете да използвате LINQ технологията за достъп до SQL бази данни по същия начин, като колекция в паметта.

Следният примерен код създава NW обект да представлява база данни Northwind, пуснете запитване към tablitseCustomers, филтър низ за търсене на клиенти (клиенти) от Лондон (London) и изберете CompanyName за извличане на линията.

Когато цикълът на събиране се екстрахира CompanyName стойности.

// Northwnd наследява от System.Data.Linq.DataContext.

// или, ако не използвате SQL Server Express

// Northwnd NW = нов Northwnd ( "Database = Northwind; сървър = server_name; Integrated Security = SSPI");

Var companyNameQuery =

Object Model LINQ към SQL

обект Моделът на LINQ към SQL, изразено на езика на програмата за разработчик, в сравнение модела на данни от релационна база данни. След това, операции с данни се извършва в съответствие с модела на обекта.

В този модел, команди за бази данни (например вмъкването), не се извършват в базата данни. Вместо това, промяна на стойностите и прилагане на методи се извършва в рамките на модела на обекта. Ако искате да изпратите заявка към база данни, или да прехвърлят промени, LINQ към SQL превежда на изискванията на валидни SQL команди и изпраща тези команди към базата данни.

Следващата таблица показва най-основните елементи в LINQ на обектен модел към SQL, и тяхната връзка с елементите в модела на релационни данни.

LINQ на обектен модел за SQL

Релационния модел на данните

класове лице и база данни LINQ към SQL

Само инстанции на класове могат да се съхраняват в базата данни, маса за картографиране (т.е. класовете на предприятието).

Колони от членовете на групата, както и LINQ към SQL бази данни

Освен свързване с класа маси могат да бъдат причислени към полета или свойства да представляват колони в базата данни. За да направите това, LINQ към SQL определя ColumnAttribute атрибут. както е показано в следващия пример.

В базата данни се съхраняват или се изтегля от него само тези полета и свойствата, които са свързани с колони. Полета и свойства, които не са обявени за колони, се считат за временни части на логиката на приложението.

LINQ към SQL карти базата данни на SQL Server с LINQ към SQL модел обект или чрез използването на атрибути, или като се използва външен файл картографиране. Този раздел представя подход, основан на атрибути.

В своята LINQ към SQL най-проста форма сравнява с база данни DataContext. клас маса субект, и колони и комуникации - свойствата на тези класове лице.

DataContext клас е източникът на всички структури, картографирани свързване към база данни. То следи всички промени, направени в изтеглят лица и поддържа "Сертификатът Кеш", който да гарантира, че структурите изтеглят повече от един път са представени от един и същ обект инстанция.

Като цяло, инстанция DataContext е предназначен за една "единица работа", независимо от това как заявление дефинира този термин. DataContext е просто обект, а създаването му не изисква големи разходи на ресурси. LINQ към SQL заявка създава DataContext обичайните случаи, в метод или като елемент на краткосрочните класове, които представляват набор от логически свързаните с това операции в базата данни.

Разработчиците, използващи Visual Studio, обикновено се извършват съпоставка въз основа на атрибути, като се използва конструктор Object Relational дизайнер.