1.無載荷(with NO Payload)的多對多關系建模

在數(shù)據(jù)庫中,存在通過一張鏈接表來關聯(lián)兩張表的情況。鏈接表僅包含連接兩張表形成多對多關系的外鍵,你需要把這兩張多對多關系的表導入到實體框架模型中。

1.1 假設我們有如下數(shù)據(jù)關系:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

我們有三張表用來存儲Album(專輯)、Artist(藝人)、LinkTable(專輯與藝人的關系表)。一張“專輯”可以有多個“藝人”,同時一個“藝人”也可以有多張專輯。

1.2 右鍵你的項目,使用entityframework的database first創(chuàng)建實體模型。注意把這三張表都選上,當點擊“完成”之后,實體框架生成的視圖如圖4-1

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

圖4-1

1.3 觀察圖4-1可以發(fā)現(xiàn),Album與Artist之間的關系被映射成了一條多對多的直線,而當初選擇的LinkTable表沒有出現(xiàn)在視圖中。這是因為LinkTable中沒有標量屬性,也就是說沒有載荷。實體框架認為,LinkTable存在的意義就是表示Album與Artist之間的關系的,而上圖足以表示他兩的關系,所以LinkTable就沒有存在的必要了。但是如果LinkTable中有標量屬性,實體框架則會為他創(chuàng)建相應的模型,如下一節(jié)2.1。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式