Dela via


LINQ till SQL-verktyg i Visual Studio

LINQ till SQL var den första objektrelationsmappningstekniken som släpptes av Microsoft. Det fungerar bra i grundläggande scenarier och stöds fortfarande i Visual Studio, men det är inte längre under aktiv utveckling. Använd LINQ till SQL när du underhåller ett äldre program som redan använder det, eller i enkla program som använder SQL Server och inte kräver mappning med flera tabeller. I allmänhet bör nya program använda Entity Framework när ett objektrelationsmappningslager krävs.

Installera LINQ till SQL-verktyg

I Visual Studio skapar du LINQ till SQL-klasser som representerar SQL-tabeller med hjälp av Object Relational Designer (O/R Designer). O/R-designern är användargränssnittet för redigering av .dbml-filer. Redigering av .dbml-filer med en designervy kräver LINQ till SQL-verktyg, vilka inte installeras som standard som en del av någon arbetsbelastning i Visual Studio.

Om du vill installera LINQ till SQL-verktyg startar du Installationsprogrammet för Visual Studio, väljer Ändra, väljer sedan fliken Enskilda komponenter och väljer sedan LINQ till SQL-verktyg under kategorin Kodverktyg.

Vad är O/R Designer?

O/R Designer har två olika områden på designytan: fönstret entiteter till vänster och metodfönstret till höger. Entitetsfönstret är den huvudsakliga designytan som visar entitetsklasser, associationer och arvshierarkier. Fönstret metoder är den designyta som visar de DataContext-metoder som är mappade till lagrade procedurer och funktioner.

O/R Designer- ger en visuell designyta för att skapa LINQ till SQL entitetsklasser och associationer (relationer) som baseras på objekt i en databas. Med andra ord skapar O/R Designer en objektmodell i ett program som mappar till objekt i en databas. Den genererar också ett starkt skrivet DataContext som skickar och tar emot data mellan entitetsklasserna och databasen. O/R Designer- innehåller även funktioner för att mappa lagrade procedurer och funktioner till DataContext metoder för att returnera data och fylla i entitetsklasser. Slutligen ger O/R Designer möjlighet att utforma arvsrelationer mellan entitetsklasser.

Öppna O/R-designern

Om du vill lägga till en LINQ till SQL-entitetsmodell i projektet väljer du Project>Lägg till nytt objektoch väljer sedan LINQ till SQL-klasser i listan med projektobjekt:

Skärmbild som visar LINQ till SQL-klasser.

Visual Studio skapar en .dbml-fil och lägger till den i din lösning. Det här är XML-mappningsfilen och dess relaterade kodfiler.

Skärmbild som visar LINQ till SQL-klasser i Solution Explorer.

När du väljer .dbml-filen visar Visual Studio O/R Designer- yta som gör att du kan skapa modellen visuellt. Följande bild visar designern efter att tabellerna Northwind Customers och Orders har dragits in från Serverutforskaren . Observera relationen mellan tabellerna.

Skärmbild som visar LINQ till SQL Designer.

Viktig

O/R Designer- är en enkel objektrelationsmappare eftersom den endast stöder 1:1-mappningsrelationer. En entitetsklass kan med andra ord bara ha en 1:1-mappningsrelation med en databastabell eller vy. Komplex mappning, till exempel mappning av en entitetsklass till en ansluten tabell, stöds inte. använd Entity Framework för komplex mappning. Dessutom är designern en enkelriktad kodgenerator. Det innebär att endast ändringar som du gör på designerytan återspeglas i kodfilen. Manuella ändringar av kodfilen återspeglas inte i O/R Designer-. Alla ändringar som du gör manuellt i kodfilen skrivs över när designern sparas och koden återskapas. Information om hur du lägger till användarkod och utökar de klasser som genereras av O/R Designerfinns i How to: Extend code generated by the O/R Designer.

Skapa och konfigurera DataContext

När du har lagt till en LINQ till SQL-klasser objekt i ett projekt och öppnat O/R Designer, representerar den tomma designytan en tom DataContext som är redo att konfigureras. DataContext konfigureras med anslutningsinformation som tillhandahålls av det första objektet som dras till designytan. Därför konfigureras DataContext med hjälp av anslutningsinformation från det första objektet som släpps på designytan. Mer information om klassen DataContext finns i DataContext-metoder (O/R Designer).

Skapa entitetsklasser som mappar till databastabeller och vyer

Du kan skapa entitetsklasser som mappats till tabeller och vyer genom att dra databastabeller och vyer från Server Explorer eller Database Explorer till O/R Designer-. Som anges i föregående avsnitt konfigureras DataContext med anslutningsinformation som tillhandahålls av det första objektet som dras till designytan. Om ett efterföljande objekt som använder en annan anslutning läggs till i O/R Designer-kan du ändra anslutningen för DataContext. För mer information, se Hur du: Skapar LINQ till SQL-klasser mappade till tabeller och vyer (O/R Designer).

Skapa DataContext-metoder som anropar lagrade procedurer och funktioner

Du kan skapa DataContext metoder som anropar (mappas till) lagrade procedurer och funktioner genom att dra dem från Server Explorer eller Database Explorer till O/R Designer-. Lagrade procedurer och funktioner läggs till i O/R Designer- som metoder för DataContext.

Anteckning

När du drar lagrade procedurer och funktioner från Server Explorer eller Database Explorer till O/R Designerskiljer sig returtypen för den genererade metoden DataContext beroende på var du släpper objektet. Mer information finns i DataContext-metoder (O/R Designer).

Konfigurera en DataContext för att använda lagrade procedurer för att spara data mellan entitetsklasser och en databas

Som tidigare nämnts kan du skapa DataContext metoder som anropar lagrade procedurer och funktioner. Dessutom kan du tilldela lagrade procedurer som används för standardbeteendet LINQ till SQL-körning, som utför infogningar, uppdateringar och borttagningar. Mer information finns i Så här: Tilldela lagrade procedurer för att utföra uppdateringar, infogningar och borttagningar (O/R Designer).

Arv och O/R-designern

Precis som andra objekt kan LINQ till SQL-klasser använda arv och härledas från andra klasser. I en databas skapas arvsrelationer på flera sätt. O/R Designer- stöder begreppet arv med en tabell eftersom det ofta implementeras i relationssystem. Mer information finns i Så här: Konfigurera arv med hjälp av O/R Designer-.

LINQ till SQL-frågor

Entitetsklasserna som skapats av O/R Designer- är utformade för användning med Language Integrated Query (LINQ). Mer information finns i Så här: Fråga efter information.

Avgränsa den genererade DataContext- och entitetsklasskoden i olika namnområden

O/R Designer- innehåller egenskaperna Kontextnamnområde och entitetsnamnområdeDataContext. Dessa egenskaper avgör vilket namnområde DataContext- och entitetsklasskoden genereras till. Som standard är dessa egenskaper tomma och DataContext- och entitetsklasserna genereras till programmets namnområde. Om du vill generera koden till ett annat namnområde än programmets namnområde anger du ett värde i Kontextnamnområde och/eller entitetsnamnområde egenskaper.

Referensinnehåll

Se även