Typické postupy použití LINQ to SQL
Pokud chcete implementovat aplikaci LINQ to SQL, postupujte podle kroků popsaných dále v tomto tématu. Všimněte si, že mnoho kroků je volitelné. Je velmi možné, že objektový model můžete použít ve výchozím stavu.
Pro opravdu rychlý start použijte Návrhář relací objektů k vytvoření objektového modelu a zahájení kódování dotazů.
Vytvoření objektového modelu
Prvním krokem je vytvoření objektového modelu z metadat existující relační databáze. Objektový model představuje databázi podle programovacího jazyka vývojáře. Další informace naleznete v tématu LINQ to SQL Object Model.
1. Vyberte nástroj pro vytvoření modelu.
Pro vytvoření modelu jsou k dispozici tři nástroje.
Návrhář relací objektů
Tento návrhář poskytuje bohaté uživatelské rozhraní pro vytvoření objektového modelu z existující databáze. Tento nástroj je součástí integrovaného vývojového prostředí sady Visual Studio a je nejvhodnější pro malé nebo střední databáze.
Nástroj pro generování kódu SQLMetal
Tento nástroj příkazového řádku poskytuje mírně odlišnou sadu možností z Návrháře relací objektů. Modelování velkých databází je nejvhodnější pomocí tohoto nástroje. Další informace najdete v tématu SqlMetal.exe (nástroj pro generování kódu).
Editor kódu
Vlastní kód můžete napsat buď pomocí editoru kódu sady Visual Studio, nebo jiného editoru. Tento přístup nedoporučujeme, což může být náchylné k chybám, pokud máte existující databázi a můžete použít návrhář relací nebo nástroj SQLMetal. Editor kódu ale může být cenný pro upřesnění nebo úpravu kódu, který jste už vygenerovali pomocí jiných nástrojů. Další informace naleznete v tématu Postupy: Přizpůsobení tříd entit pomocí editoru kódu.
2. Vyberte typ kódu, který chcete vygenerovat.
Soubor zdrojového kódu jazyka C# nebo Visual Basic pro mapování na základě atributů.
Tento soubor kódu pak zahrnete do projektu sady Visual Studio. Další informace naleznete v tématu Mapování na základě atributů.
Soubor XML pro externí mapování.
Pomocí tohoto přístupu můžete zachovat metadata mapování mimo kód aplikace. Další informace naleznete v tématu Externí mapování.
Poznámka:
Návrhář relací nepodporuje generování externích souborů mapování. K implementaci této funkce musíte použít nástroj SQLMetal.
Soubor DBML, který můžete před vygenerováním konečného souboru kódu upravit.
Jedná se o pokročilou funkci.
3. Upřesněte soubor kódu tak, aby odpovídal potřebám vaší aplikace.
K tomuto účelu můžete použít návrhář relací objektů nebo editor kódu.
Použití objektového modelu
Následující obrázek znázorňuje vztah mezi vývojářem a daty ve dvouvrstvém scénáři. Další scénáře najdete v tématu N-Vrstvé a vzdálené aplikace s LINQ to SQL.
Teď, když máte objektový model, popisujete žádosti o informace a manipulujete s daty v rámci daného modelu. Uvažujete o objektech a vlastnostech ve vašem objektovém modelu, a ne z hlediska řádků a sloupců databáze. Neřešíte přímo databázi.
Když dáte LINQ to SQL pokyn, aby buď spustil dotaz, který jste popsali, nebo volání SubmitChanges()
dat, se kterými jste manipulovali, linQ to SQL komunikuje s databází v jazyce databáze.
Následující příklad představuje typické kroky pro použití objektového modelu, který jste vytvořili.
1. Vytvořte dotazy pro načtení informací z databáze.
Další informace najdete v tématu Koncepty dotazů a příklady dotazů.
2. Přepište výchozí chování pro vložení, aktualizaci a odstranění.
Tento krok je nepovinný. Další informace naleznete v tématu Přizpůsobení operací vložení, aktualizace a odstranění.
3. Nastavte vhodné možnosti pro zjišťování a hlášení konfliktů souběžnosti.
Model můžete nechat s výchozími hodnotami pro zpracování konfliktů souběžnosti nebo ho můžete změnit tak, aby vyhovoval vašim účelům. Další informace naleznete v tématu Postupy: Určení členů testovaných pro konflikty souběžnosti a postupy: Určení, kdy jsou vyvolány výjimky souběžnosti.
4. Vytvořte hierarchii dědičnosti.
Tento krok je nepovinný. Další informace naleznete v tématu Podpora dědičnosti.
5. Zadejte příslušné uživatelské rozhraní.
Tento krok je nepovinný a závisí na tom, jak se bude vaše aplikace používat.
6. Ladění a otestování aplikace
Další informace naleznete v tématu Podpora ladění.