[英]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.