光腳丫學LINQ 036 一對一對映關係

2021-08-25 12:22:23 字數 1002 閱讀 8495

演示重點

一對一的對映關係和一對多的對映關係基本相同,區別不是太大。

建立一對一對映關係時,雖然可以綜合使用entityref和entityset,但推薦在在實體的兩方都使用entityref,不推薦使用entityset,但也要謹防發生【未將物件引用設定到物件例項】的異常。

研習記錄

此測試**主要是用來演練linq to sql一對一的對映關係,試圖通過這個演練來掌握這種對映關係是如何在物件模型中被定義的。

此演示是將專案中的資料庫複製到c:/linq資料夾下。如果資料庫沒有儲存在這個資料夾,那就需要修改**中的連線字串。

根據微軟文件的說法,要向建立一對一的對映關係,可以在兩個實體類中使用entityset來建立這種關係。不過,根據我觀察物件關係設計器所生成的**來看,似乎應該使用entityref。從這兩個型別來看,似乎entityref更適合於建立一對一的關係。

首先來測試一下,建立一對一的對映關係時,到底是使用entityset?還是entityref?

測試的結果表明,完全可以entityref來建立一對一的對映關係,而且在設定associationattribute的時候,只需要正確的設定其storage、thiskey和otherkey的屬性,就能建立起良好的一對一的對映關係。

哎,真是沒天理了,經過測試,才發現,竟然使用entityset來建立實體類間的一對一的對映關係也是完全可以的。哎!這什麼世道呀!不過,因為entityset是個集合,所以我們還需要呼叫它的first()方法來獲取其中的第乙個元素,因為我們建立的是一對一的對映關係。而非多對多的對映關係。

至於結合entityref和entityset來建立這種一對一的對映關係,那自然是不用說的可以了。這點,我相信用腳趾頭都能想的明白了。

但是,在這三種選擇中,我看還是單純的使用entityref比較妥當點,這種型別的屬性引用更能體現出一對一的對映關係,而且說不定其效率還會比另外兩種高一點,特別是比單純的使用entityset。不過,這只是推測,並未經過測試驗證。

Mybatis註解實現 一對一對映 一對多對映

results id usermap value one 相當於 xml 檔案中的 association 標籤 column 代表資料庫中的字段 property 代表 pojo 類中的屬性 和上面的column 形成一一對應的關係 results 註解對應的 id值 可以使用 resultmap...

Hibernate(五) 經典解析一對一關聯對映

前面兩篇介紹了多對 一 一對多的對映。今天分享下一對一的關聯對映關係。有兩種策略可以實現一對一的關聯對映 主鍵關聯 唯一外來鍵關聯。主鍵關聯 兩個表有完全相同的主鍵值,來表示它們的一對一的關係。資料庫中沒有額外的字段去維護它們之間的關係,就只是靠著主鍵來維持關係。唯一外來鍵關聯 增加乙個額外的字段,...

學霸君一對一 響應兩會 繼續發展公平而有質量的教育

2019 年,是新中國成立的 70 周年,也是全面建成小康社會的關鍵之年。不久前,中華人民共和國第十三屆全國人民代表大會第二次會議 以下簡稱 兩會 在人民大會堂正式拉開序幕。兩會在中國始終是各行各業關注的焦點,一些政策的出台和重大變革都因此誕生,其重要程度顯而易見。在這些話題中,教育改革的討論成為焦...