咨詢電話:023-6276-4481
熱門文章
電 話:023-6276-4481
郵箱:broiling@qq.com
地址:重慶市南岸區(qū)亞太商谷6幢25-2
注意: 此頁提供有關(guān)如何設(shè)置在你的模型使用關(guān)系信息Ef設(shè)計師。有關(guān)在關(guān)系的一般信息Ef和如何訪問和操作數(shù)據(jù)使用關(guān)系,請參閱關(guān)系和導(dǎo)航屬性。
協(xié)會 d Ef ine 模型中的實體類型之間的關(guān)系。本主題演示如何映射與實體框架設(shè)計師協(xié)會 (Ef設(shè)計師)。下圖顯示了當(dāng)使用時,使用的主窗口Ef設(shè)計師。
注意: 當(dāng)您構(gòu)建概念模型時,關(guān)于未映射的實體和關(guān)聯(lián)的警告可能出現(xiàn)錯誤列表中。因為你選擇從模型生成數(shù)據(jù)庫后,錯誤將消失,您可以忽略這些警告。
本主題演示如何執(zhí)行以下任務(wù)。
協(xié)會概述
創(chuàng)建和刪除協(xié)會
在您的實體包括外鍵屬性 (REf微分約束)
創(chuàng)建和編輯關(guān)聯(lián)映射
編輯和刪除導(dǎo)航屬性
當(dāng)您設(shè)計您的模型使用Ef設(shè)計器,一個.edmx 文件表示您的模型。在.edmx 文件中,協(xié)會元素 d Ef ines 兩個實體類型之間的關(guān)系。協(xié)會必須在關(guān)系和盡可能多的被稱為多樣性的關(guān)系每一端的實體類型中指定涉及的實體類型。關(guān)聯(lián)端的多重性可以有一個值的一 (1),零個或一個 (0..1),或很多的 (*)。此信息是在兩個孩子結(jié)束元素中指定的。
在運行時,在協(xié)會的一端的實體類型實例可以訪問通過導(dǎo)航屬性或外鍵,(如果你選擇公開您的實體中的外鍵)。暴露的外鍵,實體之間的關(guān)系管理與 R Ef erentialConstraint 元素 (關(guān)聯(lián)元素的子元素)。建議您始終在您的實體中公開了關(guān)系的外鍵。
注意: 在多對多 (*: *) 你不能向?qū)嶓w中添加外鍵。在 *: * 關(guān)系,關(guān)聯(lián)信息管理與一個獨立的對象。
CSDL 元素有關(guān)的信息 (R Ef erentialConstraint,協(xié)會,等等),請參見 CSDL 規(guī)范
創(chuàng)建關(guān)聯(lián)與Ef設(shè)計器更新模型的.edmx 文件的內(nèi)容。創(chuàng)建后協(xié)會,你必須創(chuàng)建協(xié)會 (在本主題后面討論) 的映射。
注: 本節(jié)假定您已經(jīng)添加您想要創(chuàng)建到您的模型之間的關(guān)聯(lián)的實體。
右鍵單擊設(shè)計圖面空白區(qū)域,指向新添加,選擇關(guān)聯(lián)……
填寫在添加關(guān)聯(lián)對話框中關(guān)聯(lián)的設(shè)置。
注意: 您可以選擇不添加導(dǎo)航屬性或外鍵屬性兩端的關(guān)聯(lián)實體通過清除導(dǎo)航屬性并添加外鍵屬性到 < 實體類型名稱 > 實體對應(yīng)的復(fù)選框。如果您添加一個導(dǎo)航屬性,該協(xié)會將可遍歷只在一個方向。如果您添加沒有導(dǎo)航屬性,您必須選擇添加外鍵屬性來訪問實體兩端的協(xié)會。
單擊確定。
若要刪除協(xié)會做下列操作之一:
用鼠標右鍵單擊該協(xié)會Ef設(shè)計器表面,然后選擇刪除。
-或-
選擇一個或多個協(xié)會,然后按 DELETE 鍵。
建議您始終在您的實體中公開了關(guān)系的外鍵。實體框架使用 rEf微分約束來標識屬性作為外鍵的關(guān)系。
如果你選中添加外鍵屬性中的 < 實體類型名稱 > 實體復(fù)選框創(chuàng)建關(guān)系,這個 r 時Ef為你增加微分約束條件。
當(dāng)您使用Ef設(shè)計器添加或編輯 rEf微分約束Ef設(shè)計器添加或修改 R Ef CSDL 內(nèi)容的.edmx 文件中的 erentialConstraint 元素。
雙擊您要編輯的關(guān)聯(lián)。
REf微分約束對話框出現(xiàn)。
從校長的下拉列表中,選擇主要實體在 rEf微分約束。
實體的鍵屬性添加到對話框中的主要關(guān)鍵列表。
依賴的下拉列表中,選擇中的相關(guān)實體在 rEf微分約束。
有一個依賴于密鑰的每個主要密鑰,從依賴鍵列中的下拉列表選擇相應(yīng)的相關(guān)密鑰。
單擊確定。
您可以指定如何關(guān)聯(lián)映射到數(shù)據(jù)庫中的映射詳細信息窗口Ef設(shè)計師。
注: 您只能映射詳細信息沒有研發(fā)協(xié)會Ef指定的微分約束。如果 rEf微分約束指定外鍵屬性包括實體中然后你可用于控制哪一列的外鍵映射到實體的映射的詳細信息。
右鍵單擊設(shè)計圖面中的關(guān)聯(lián)并選擇表映射。
這在映射詳細信息窗口中顯示關(guān)聯(lián)映射。
單擊添加一個表或視圖。
顯示一個下拉列表,包含存儲模型中的所有表格。
選擇該協(xié)會將映射到其中的表。
映射詳細信息窗口顯示在每個末端兩端的協(xié)會和實體類型的鍵屬性。
為每個鍵的屬性,請單擊列字段,并選擇屬性將映射到其中的列。
右鍵單擊設(shè)計圖面中的關(guān)聯(lián)并選擇表映射。
這在映射詳細信息窗口中顯示關(guān)聯(lián)映射。
單擊映射到 < 表名稱 >。
顯示一個下拉列表,包含存儲模型中的所有表格。
選擇該協(xié)會將映射到其中的表。
映射詳細信息窗口顯示在每個末端兩端的協(xié)會和實體類型的鍵屬性。
為每個鍵的屬性,請單擊列字段,并選擇屬性將映射到其中的列。
導(dǎo)航屬性是關(guān)聯(lián)的用于在模型中找到兩端實體的快捷方式屬性。當(dāng)您創(chuàng)建兩個實體類型之間的關(guān)聯(lián),可以創(chuàng)建導(dǎo)航屬性。
選擇一個導(dǎo)航屬性上Ef設(shè)計器圖面。
關(guān)于導(dǎo)航屬性的信息顯示在 Visual Studio 屬性窗口。
更改屬性窗口中的屬性設(shè)置。
如果外鍵不會公開對概念模型中的實體類型,刪除導(dǎo)航屬性可相應(yīng)關(guān)聯(lián)可遍歷只在一個方向或不可遍歷根本。
用鼠標右鍵單擊一個導(dǎo)航屬性Ef設(shè)計器表面,然后選擇刪除。