问题标签 [foreign-key-relationship]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
978 浏览

.net - 当对象链接到丢失的孩子时,实体框架更新失败

当对象引用不存在的子记录时,我无法更新对象子记录。例如。表 Car 和 CarColor 有关系。Car.CarColorId >> CarColor.CarColorId 如果我像这样加载带有颜色记录的汽车

我将取回 Car 对象,它是 Color 对象。现在假设前一段时间 CarColor 已被删除,但有问题的 Car 记录仍包含 CarColorId 值。因此,当我运行查询时,Color 对象为 null,因为 CarColor 记录不存在。我的问题是,当我附加另一个确实存在的 Color 对象时,我得到了一个商店更新,保存时插入错误。

就像上下文试图删除不存在的颜色一样。我怎样才能解决这个问题?

0 投票
4 回答
2183 浏览

sql - 我应该使用外键在 SQL 中显示树关系吗

我正在尝试在表中建模树关系。例如,有“类别”,类别本身可以在父类别中。

我的架构是:

我的问题是,我应该将 parent_id 列标记为外键吗?Foreign 意味着“外部”而不是自我引用。为此目的是否有不同类型的密钥?

我的问题类似于: MS SQL 中的自引用约束,但我问的是另一个问题,级联不是问题。

0 投票
3 回答
911 浏览

sql - 字典表关系 (MS SQL 2005)

我有一个名为“字典”的表,其列如下:

  • ID 大整数
  • 类型 varchar (200)
  • 项目 varchar (200)

表被各种表用作简单的字典/查找。
例如,它存储国家、标题、业务类型列表。

TYPE列保存关于字典类型的信息,ITEM是字典字符串值。

一切正常,但我在建立字典和外国表之间的关系时遇到问题。
当我使用“外键关系”时,我不能让它依赖于“类型”列。

(请注意具有相同类型的相同项目 - 例如,“国家”可以链接到多个表格,而其他类型的项目可以链接到不同的表)

目前我正在使用 USP 来管理它,但我想切换到标准关系机制。
任何建议如何获得?

0 投票
1 回答
809 浏览

primary-key - 定义复合键的顺序是否重要?

我有一个 (col1,col2) 作为复合主键的表。创建表twokeytable(col1 int,col2 int,约束twokeytable_pk主键(col1,col2));

和另一个表 col3,col4 具有复合外键 (col3,col4) 的列,该外键引用 (col1,col2) 主键。

对于某些处理,我需要删除外键和主约束。在恢复约束时,键的顺序是否重要?

这些是一样的吗?

创建表 fktwokeytable(col3 int,col4 int,约束 fkaddfaa_fk 外键(col4,col3) 引用 twokeytable(col1,col2))

创建表 fktwokeytable(col3 int,col4 int,约束 fkaddfaa_fk 外键(col3,col4) 引用 twokeytable(col1,col2))

0 投票
1 回答
2040 浏览

nhibernate - nhibernate父/子一对一映射

我有两节课:

我希望 nhibernate 自动加载/保存 Entry 对象的 Code 子属性(可以为 null,并由 Codes 表中的外键“EntryId”链接),但我无法弄清楚映射。hibernate.org 上的文档现在没有为我加载,所以有人可以用下面的映射为我指明正确的方向吗?

0 投票
2 回答
146 浏览

mysql - 如果在另一个表中不匹配,使用什么作为外键 - MySQL

我正在为日程安排网络应用程序开发出勤/加班模块。这个想法是在 MySQL 中有一个班次表,每个班次都有一个开始和结束时间。经理将选择一个班次并在考勤表中输入该员工是否早到/迟到/早退/加班。出勤表中的该条目被键入班次 ID #(这只是一个枚举键)。

但是,如果有人在他们的休息日进来,则无需切换到密钥。什么是用于这些键的好系统?我可以设置条件枚举吗?以及如何避免与班次 ID 重叠的风险?将加班班次添加回原始时间表数据库不是一种选择。

0 投票
1 回答
3676 浏览

linq-to-sql - Linq to sql 导致外键约束错误

这是相关的代码。

TournamentParticipants.TeamId 在 TournamentTeam.TeamID 上有一个 fk 关系,TeamID 是一个标识列

我不明白的是,当 TournamentTeam 获得插入时,它会获取新的身份值。即使当我调试代码时,新注册也会收到新的团队 ID。但是在生成插入时,它完全避免了这个值,并在选择语句之前执行插入,它抓取新的标识列。

如何让 linq to sql 使用我指定的团队 ID 的值,或者在插入语句之前生成 select 语句?

0 投票
2 回答
1060 浏览

sql-server - 无法使用 Linq to Entities 语句从外键关系中检索用户对象

我正在尝试从外键引用中检索用户对象,但每次我尝试这样做时都没有返回任何内容......

我的桌子是这样设置的:

所以我让我的存储库在提供 FBUserID 时尝试获取用户:

我检查了传入的 uid (FBUserID) 是否正确,我检查了 UserID 是否与 FBUserID 匹配。而且我还检查以确保fbUids.Count() > 0...

我已经返回fbUids.FirstOrDefault().FBUserID并获得了正确的 FBUserID,但是任何时候我尝试返回aspnet_Usersoraspnet_Users.UserName等​​......我都没有得到任何返回。(我猜由于某种原因它会出错)

我没有正确设置调试,所以这可能就是我遇到这么多麻烦的原因......但到目前为止,我所做的所有检查我一直在做return this.Json(/* stuff returned form the repository */),以便我可以在它恢复时发出警报的JavaScript。

任何人都知道为什么我很难从这样的外键关系中检索用户对象吗?

或者您对找出问题所在有什么建议吗?

0 投票
3 回答
964 浏览

sql-server - 如何通过外键选择对象

如果我有一个带有主键 (AccLinkID) 和外键 (aspnet_Users UserID) 的表,如何使用 Linq to Entities 选择外键指向的对象。

不工作...

有人有想法么?

0 投票
1 回答
607 浏览

foreign-key-relationship - 如何更改表

这是我的表名如何删除 im_inv_ni 和 location_ 代码中的主键

而且我应该将外键添加到 im_inv_no....请帮助