簡體   English   中英

數據庫如何表示一對一關系?

[英]How does the database represent One-to-One relationship?

我在實體框架核心2.0中使用了簡單的一對一關系。

   modelBuilder.Entity<Profile>()
        .HasOne(p => p.Avatar)
        .WithOne()
        .HasForeignKey<Profile>(p => p.AvatarId);

每個配置文件只有一個頭像。

在數據庫管理應用程序中查看並不會顯示(或至少沒有找到)一對一和一對多關系之間的任何差異。 所以我的意思是我找不到一對多不同於一對多的任何特殊約束。

數據庫如何知道我定義的哪種關系? 如果不知道,那為什么還要定義我正在使用的關系類型?

如果您在數據庫中看不到任何外鍵或主鍵,則不會知道。 或更具體地說:允許您保存違反關系的數據。

關系的完整性在具有外鍵的數據庫中得到了強制執行,但這當然不會阻止您提交錯誤地聯接表的SQL。

這是定義外鍵的鏈接,可確保基於表中的數據確保一對一關系。 http://www.tech-recipes.com/rx/56738/one-to-one-one-to-many-table-relationships-in-sql-server/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM