繁体   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