问题标签 [one-to-many]
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.
asp.net - ASP.NET 和一对多对多场景
我是 ASP.NET 新手,但不是编程新手。我正在将我们当前的站点从 PHP/MySQL 迁移到 ASP.NET(3.5)/SqlServer。自从该网站启动以来,我一直潜伏在这里,所以我相信你们中的一个(或多个)可以帮助我。这是场景:
这是一个培训部门网站和部门。有一个课程目录存储在表中course
。每门课程可能有许多先修课程,例如,A 和 B 是 C 的先修课程。我通常会将其作为逗号分隔的列存储在单独的表中或course
单独的表中course_prereq
,或者course_course
作为递归关系存储。这部分我可以做。
但是,业务规则要求每门课程可以有多组先决条件。例如,N
需要和A
,或需要和。这就是我卡住的地方。B
C
N
X
Y
以前,我将此信息存储在 row N
as的列中A,B,C|X,Y
,将 id 解析为 PHP 2D 数组,为 id 在该数组中的所有行提交第二个查询,然后使用 PHP 将这些行分成各自的组。完成所有这些处理后,先决条件组将在网页上显示为单独的表格,如下所示:
| A | A's information goes here |
| B | B's information goes here |
| C | C's information goes here |
- - - - - - - OR - - - - - - - -
| X | X's information goes here |
| Y | Y's information goes here |
我将如何使用 ASP.NET 完成此任务?
c++ - 如何知道 C++ 中所有者对象的地址?
我想在 C++ 中创建一个 Notifier 类,我将在其他对象中使用它来在对象被销毁时通知各种持有者。
我的观点是,由于我有一个密集而复杂的对象图,我想避免将拥有对象的地址存储在通知程序中。有没有办法更改我的通知程序类,以便它可以从自己的地址和在编译时计算的偏移量推断出拥有对象的地址?
另请注意,任何对象都可能必须通知多个“所有者”,可能来自同一类。
谢谢。
sql - 将一对多关系显示为 2 列 - 1 个唯一行(ID 和逗号分隔列表)
我需要类似于这 2 个 SO 问题的内容,但使用 Informix SQL 语法。
我进来的数据是这样的:
我想看到它像这样回来:
c# - Ado.Net 实体:对象不显示链接成员(外键)
我有一个简单的数据库方案:用户,帐户。用户与帐户具有一对多的关系。
我已经生成了一个 ado.net 实体数据模型,我可以创建用户和帐户,甚至将它们链接在一起。在数据库中 account.user_id 已正确填写,因此理论上我应该能够通过实体访问 C# 中的 User.Account.ToList() 。
但是,当我尝试访问 User.Account.ToList() 时,结果为零。
当我在前一个代码之前添加以下代码时,它突然给了我正确的计数 2。
我在这里想念什么?
c# - 一对多上的 nHibernate Null 列表值
我有一个包含许多 OrderItems 的订单映射。当我只保存订单时,映射正确地将订单和订单项目保存到数据库中,但是当我重新加载该订单时,订单包含的订单项目列表填充了空值(对于所有其他订单项目表),直到它到达具有 Order 外键的 OrderItem。因此,空订单商品的总计数是 OrderItems 表的行数(不包括与订单相关的实际订单商品)。这是我的映射:
命令:
订单项:
这是 Order 的类实现:
我读到 nHibernate 不支持列表作为关系的许多部分,但保存工作正常,只是不支持加载。我是否必须将所有内容都转换为 Sets 才能使其正常工作?
many-to-many - 联结表(join table)也可以用于一对多关系吗?
根据定义,Junction Table(桥表/链接表)用于多对多关系,使用时如下:
但是它不能也像在这个例子中一样容易地用于一对多关系,在这个例子中,一个用户与许多订单相关联:
(我不太了解数据库,所以如果我误解了什么,请纠正我。)
postgresql - 如何在 PostgreSQL 中添加多对一关系
我有两个表:“Stock Master”和“Stock In”,如何在它们之间创建多对一关系?“Stock In”记录了许多不同日期和数量的不同库存,但“Stock Master”必须将相同的库存及其数量显示并合并为一个,并且必须具有先进先出的功能。
mysql - SQL:在一对多关系中为每个父级显示 1 个子记录的语句
我有 2 个表,一个产品表和一个图像表。产品每条记录可以有超过 1 个图像。我需要一个 SQL 语句,它将列出每个产品的 1 个图像,而不是每个产品的所有图像。
我目前努力的一个按比例缩小的例子是:
上面的示例返回 0 个结果,但是,如果我从 Sub SELECT 中删除 LIMIT 0,1,我将获得所有产品和所有图像的完整列表。
我只想返回每个产品记录的 1 个图像记录。
我已经将“程序员”代码修改为 MySQL,它工作正常。
出于某种原因,在尝试“Bill Karwin”的解决方案时,它让服务器加载了很长时间。
entity-framework - 将一对多表关系映射到单个实体框架对象
我在数据库中有以下表格(当然只是一个演示):
职位
职位编号
限制
LimitId 位置Id
我想将它们加入一个实体(总是有位置,并不总是有限制):
位置
PositionId 限制Id
我看过有关一对一映射和“每个类型继承的表”的文章,并尝试在这里实现相同的方法,但没有成功。这甚至可能吗?
hibernate - Hibernate - 子集合标识符在更新中更改
当我尝试更新对象 RFQ 时,Hibernate 倾向于更新其子集合 BQMaster 并尝试设置和更新 BQMaster 的标识符,这通常是不允许的。
postgre 日志文件:
2009-05-22 11:16:53 错误:重复键违反唯一约束“bq_masters_pkey”
2009-05-22 11:16:53 声明:更新 bq_masters 设置 rfq_id=$1,id=$2 where id= 3 美元
控制台错误:
原因:java.sql.BatchUpdateException:批处理条目 0更新 bq_masters set rf q_id=2, id=0 where id=49449 was aborted。调用 getNextException 查看原因。在org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutor Impl.java:1257)在 org.postgresql.core.v3.QueryExecutorImpl
的 org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handle Error(AbstractJdbc2Statement.java:2392) org.hibernate.jdbc.BatchingBatcher.doExecuteBatch( BatchingBatcher.java:58)的org.hibernate.execute( QueryExecutorImpl.ja va:334) .jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 32 更多
当它试图更新 bq_masters 的 id 时,这似乎很奇怪。它应该保留 id 并仅更新其他字段。
休眠映射:
数据库结构供参考:
我尝试在 RFQ 一对多映射中添加 inverse="true" 但无济于事,因为它不会更新相应 RFQ 对象的 BQMasters。
有人对解决这个问题有任何线索吗?提前致谢。