Relace – EF Designer

Poznámka:

Tato stránka obsahuje informace o nastavení relací v modelu pomocí nástroje EF Designer. Obecné informace o relacích v EF a o tom, jak přistupovat k datům pomocí relací a manipulovat s nimi, naleznete v tématu Relace a vlastnosti navigace.

Přidružení definují vztahy mezi typy entit v modelu. Toto téma ukazuje, jak mapovat přidružení s návrhářem Entity Framework (EF Designer). Následující obrázek ukazuje hlavní okna, která se používají při práci s nástrojem EF Designer.

EF Designer

Poznámka:

Při vytváření konceptuálního modelu se můžou v seznamu chyb zobrazit upozornění na nemapované entity a přidružení. Tato upozornění můžete ignorovat, protože jakmile se rozhodnete vygenerovat databázi z modelu, chyby zmizí.

Přehled přidružení

Při návrhu modelu pomocí EF Designeru představuje soubor .edmx váš model. V souboru .edmx definuje prvek Association vztah mezi dvěma typy entit. Přidružení musí určovat typy entit, které jsou součástí relace, a možný počet typů entit na každém konci relace, což se označuje jako násobnost. Násobnost konce přidružení může mít hodnotu 1, nula nebo jednu (0,,1) nebo mnoho (*). Tyto informace jsou zadány ve dvou podřízených koncových elementech.

V době běhu můžou být instance typů entit na jednom konci přidružení přístupné prostřednictvím navigačních vlastností nebo cizích klíčů (pokud se rozhodnete zpřístupnit cizí klíče ve vašich entitách). U vystavených cizích klíčů se vztah mezi entitami spravuje pomocí elementu ReferentialConstraint (podřízený prvek elementu Association ). Doporučujeme vždy vystavit cizí klíče pro vztahy ve vašich entitách.

Poznámka:

V N:N (*:*) není možné do entit přidávat cizí klíče. V relaci *:* se informace o přidružení spravují pomocí nezávislého objektu.

Informace o elementech CSDL (ReferentialConstraint, Association atd.) naleznete ve specifikaci CSDL.

Vytváření a odstraňování přidružení

Vytvoření přidružení k EF Designeru aktualizuje obsah modelu souboru .edmx. Po vytvoření přidružení musíte vytvořit mapování pro přidružení (popsáno dále v tomto tématu).

Poznámka:

V této části se předpokládá, že jste už přidali entity, které chcete vytvořit přidružení mezi modelem.

Vytvoření přidružení

  1. Pravým tlačítkem myši klikněte na prázdnou oblast návrhové plochy, přejděte na příkaz Přidat nový a vyberte Možnost Přidružení....

  2. Vyplňte nastavení přidružení v dialogovém okně Přidat přidružení .

    Add Association

    Poznámka:

    Vlastnosti navigace nebo cizího klíče nelze přidat do entit na konci přidružení zrušením zaškrtnutí políčka **Navigační vlastnost **a **Přidat vlastnosti cizího <klíče do pole Název> entity **. Pokud přidáte pouze jednu navigační vlastnost, bude přidružení možné projít pouze jedním směrem. Pokud nepřidáte žádné navigační vlastnosti, musíte se rozhodnout přidat vlastnosti cizího klíče, aby bylo možné přistupovat k entitě na konci přidružení.

  3. Klikněte na OK.

Odstranění přidružení

Pokud chcete odstranit přidružení, udělejte jednu z těchto věcí:

  • Klikněte pravým tlačítkem myši na přidružení na ploše EF Designeru a vyberte Odstranit.

  • NEBO-

  • Vyberte jedno nebo více přidružení a stiskněte klávesu DELETE.

Zahrnutí vlastností cizího klíče do entit (referenční omezení)

Doporučujeme vždy vystavit cizí klíče pro vztahy ve vašich entitách. Entity Framework používá referenční omezení k identifikaci, že vlastnost funguje jako cizí klíč pro relaci.

Pokud jste při vytváření relace zaškrtli políčko Přidat vlastnosti cizího <klíče do názvu> entity, toto referenční omezení bylo přidáno za vás.

Když použijete EF Designer k přidání nebo úpravě referenčního omezení, EF Designer přidá nebo upraví element ReferentialConstraint v obsahu souboru .edmx CSDL.

  • Poklikejte na přidružení, které chcete upravit. Zobrazí se dialogové okno Referenční omezení .

  • V rozevíracím seznamu Objekt zabezpečení vyberte v referenčním omezení entitu objektu zabezpečení. Vlastnosti klíče entity se přidají do seznamu hlavního klíče v dialogovém okně.

  • V rozevíracím seznamu Závislý vyberte závislá entitu v referenčním omezení.

  • Pro každý hlavní klíč, který má závislý klíč, vyberte odpovídající závislý klíč z rozevíracích seznamů ve sloupci Závislý klíč .

    Ref Constraint

  • Klikněte na OK.

Vytváření a úpravy mapování přidružení

Způsob mapování přidružení k databázi můžete určit v okně Podrobnosti mapování nástroje EF Designer.

Poznámka:

Podrobnosti o přidruženích, které nemají zadané referenční omezení, můžete mapovat pouze. Pokud je zadáno referenční omezení, je vlastnost cizího klíče zahrnuta v entitě a pomocí podrobností mapování entity můžete určit, na který sloupec se cizí klíč mapuje.

Vytvoření mapování přidružení

  • Pravým tlačítkem myši klikněte na přidružení v návrhové ploše a vyberte Mapování tabulky. Zobrazí se mapování přidružení v okně Podrobnosti mapování .

  • Klikněte na Přidat tabulku nebo zobrazení. Zobrazí se rozevírací seznam, který obsahuje všechny tabulky v modelu úložiště.

  • Vyberte tabulku, na kterou se přidružení mapuje. Okno Podrobnosti mapování zobrazuje oba konce přidružení a klíčové vlastnosti pro typ entity na každém konci.

  • U každé klíčové vlastnosti klikněte na pole Sloupec a vyberte sloupec, na který se vlastnost mapuje.

    Mapping Details 4

Úprava mapování přidružení

  • Pravým tlačítkem myši klikněte na přidružení v návrhové ploše a vyberte Mapování tabulky. Zobrazí se mapování přidružení v okně Podrobnosti mapování .
  • Klikněte na Mapy na <název> tabulky. Zobrazí se rozevírací seznam, který obsahuje všechny tabulky v modelu úložiště.
  • Vyberte tabulku, na kterou se přidružení mapuje. Okno Podrobnosti mapování zobrazuje oba konce přidružení a klíčové vlastnosti pro typ entity na každém konci.
  • U každé klíčové vlastnosti klikněte na pole Sloupec a vyberte sloupec, na který se vlastnost mapuje.

Upravit a odstranit navigační vlastnosti

Vlastnosti navigace jsou vlastnosti zástupce, které slouží k vyhledání entit na konci přidružení v modelu. Navigační vlastnosti lze vytvořit při vytváření přidružení mezi dvěma typy entit.

Úprava navigačních vlastností

  • Vyberte navigační vlastnost na povrchu EF Designeru. Informace o navigační vlastnosti se zobrazí v okně Vlastnosti sady Visual Studio.
  • Změňte nastavení vlastnosti v okně Vlastnosti .

Odstranění vlastností navigace

  • Pokud nejsou cizí klíče vystaveny u typů entit v koncepčním modelu, odstranění navigační vlastnosti může zajistit, aby odpovídající přidružení bylo možné projít pouze jedním směrem nebo vůbec neprojít.
  • Klikněte pravým tlačítkem myši na navigační vlastnost na ploše EF Designeru a vyberte Odstranit.