问题标签 [linktable]

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 投票
1 回答
47 浏览

database - 使用域驱动设计和 nHibernate 时如何处理链接表?

如果您有 Groups、Users、Channels 表以及每两个表之间的链接表,那么您如何在 Domain Driven Design 和 nHibernate 中组织它们?Group 有 UserCollection 和 ChannelCollection,User 有 GroupCollection 和 ChannelCollection,Channel 有 GroupCollection 和 UserCollection?

如果您想将组添加到频道,您是否需要保存频道及其所有组?更糟糕的是,将用户添加到频道...保存频道的所有用户需要先加载所有用户,然后添加新用户,然后保存频道(好吧,可能只会保存添加的用户,但你确实需要将它们全部加载...)。或者您将在存储库 AddUserToChannel(User user, Channel channel) 或 AddUserToChannel(User user, int channelId) 中创建一个方法?

0 投票
1 回答
206 浏览

domain-driven-design - 域驱动设计中的链接表呢?

在 Tim McCarthy 的 .NET Domain-Driven Design with C# 一书中,有一个链接表示例(两个外键 + 一个布尔列),它在域中获得了自己的类。这很常见吗?

该示例是一个 Contact 表和一个 Project 表。链接表是一个 ProjectContact。使用类 ProjectContact 而不是在 Project 类中使用 List of Contacts 属性和在 Contact 类中使用 List of Projects 属性有什么优缺点?

我必须说拥有一个 ProjectContact 类可以很容易地在项目和联系人之间保持新的链接......但对我来说似乎有点过分了。

0 投票
3 回答
2520 浏览

sql-server - 加载包含链接的 sql server 表的 mdb 时 ms 访问崩溃

我有一个 mdb,它曾经包含一堆链接表。这些链接指向另一个 Access mdb 中的表。

作为受控迁移的一部分,我将这些链接表更改为指向 SQL 服务器实例,方法是遍历所有链接表并将连接字符串更新为 ODBC 字符串,然后在 tabledef 上调用 RefreshLink。

但是,在使用 ODBC 链接打开我的新数据库时,Access 崩溃。更有趣的是,如果我删除一个特定的链接表(通过 ADO),我就可以打开数据库。更有趣的是,如果我通过 Access GUI 重新添加链接表,它不会崩溃,所以我知道 SQL Server 中的表本身没有问题。

因此,我需要弄清楚导致 Access 崩溃的这个特定链接表的原因。我可以获得有关崩溃的任何信息以提供帮助吗?我什至可以从哪里开始调查呢?

编辑:我尝试了多种刷新链接表的方法,无论是通过刷新链接,还是删除并重新创建带有 DSN 或没有 DSN 的表等。每次都是同一个表导致 mdb 在打开时崩溃。

编辑 2:可悲的是,崩溃似乎实际上以某种方式归结为源代码控制 - 如果我禁用我的 SCCAPI 提供程序,那么就没有崩溃。我仍然不知道如何调查这个。

0 投票
1 回答
100 浏览

sql - 将两张表和一张链接表变成一张大表

我试图寻找这个问题,但没有发现任何相关的。所以这里...

我有三个表,其中极其简化的版本是:

从业者:

  • practitioner_id :: int
  • name :: nvarchar

保险:

  • insurance_id :: int
  • name :: nvarchar

保险链接:

  • practitioner_id :: int
  • insurance_id :: int

所以,从业者表包含从业者列表,保险表包含保险列表,链接表表示哪个从业者支持哪个保险。

现在,我需要创建一个可以显示如下信息的视图:

视图表:

  • practitioner_id :: int
  • practitioner_name :: nvarchar
  • insurance_1 :: bit
  • insurance_2 :: bit ......
  • insurance_100 :: bit

换句话说,视图中的列是从业者的 ID 和姓名,以及存在于Insurances中的每份保险(以保险名称作为列名(强制条件是保险名称是唯一的))。保险栏中的单元格将指示该从业者是否支持该保险。

有没有办法做到这一点?

或者更好的是,是否可以在 VB.NET 表单中的 DataSet 上使用 excel 样式的数据透视表?这也将解决我的许多问题。

0 投票
2 回答
828 浏览

entity-framework - 在 EF 中使用链接表时摆脱不必要的连接

我有这个数据库架构:

Role 表有几列,但我只对主键感兴趣,我可以从 UserRole 的外键中获取它,所以我根本不需要加入 Role 表,但我不知道如何以避免使用 EF 加入该表。

我试过这段代码:

这会生成两个查询。一个在用户表上,一个在 UserRole 和 Role 的连接上。我当然可以使用 .Include("Roles") 或 SelectMany() 将其减少为一个查询,但该查询将连接三个表。有没有办法摆脱多余的加入?我希望我的 SQL 类似于:

实际上,我使用的是 automapper,但我认为这个示例演示了同样的问题。Roles 是一个小表,所以这次我可以忍受性能损失,但它让我烦恼的是,我不能像手写 SQL 那样高效。有没有其他人在我之前遇到过这个问题并找到了解决方案?

0 投票
1 回答
108 浏览

sql - 你的意见?- 通过 LinkTypeId 链接表

我有一个网络应用程序,将文件和注释链接到客户、用户、项目等。最初,我有诸如 customerNote、userNote、projectNote 等表。

设计注意事项:
1:我不想管理 N 个平方表(超过 100 个 customerNote、userNote、projectNote、... customerFile、projectFile...等表)
2:我不想使用动态 SQL(TableName 来自LinkType)
3:我看不到使用链接表的干净方法(没有 100+ N 平方链接表)

现在,我有一个包含 LinkId 和 LinkTypeId 的 Note 表。LinkId当然是client|User|Project|etc表的PK;LinkTypeId 指向链接的类型。

所以这:
SELECT * FROM customerNote WHERE Id = 1210
SELECT * FROM userNote WHERE Id = 3281

现在变成了这样:
SELECT * FROM Note WHERE LinkId = 1210 AND LinkTypeId = 2(2 是客户)
SELECT * FROM Note WHERE LinkId = 3281 AND LinkTypeId = 3(3 是用户)

我喜欢这种方法的简单性,并且我已经将它们包装到我到处调用的函数中。

我的问题是:
1:如果没有参照完整性,我会有什么性能或其他问题?
2:这会导致可扩展性问题吗?
3:有没有优雅的解决方案?

这是我的第一篇 SO 帖子,我提前感谢大家的帮助。

0 投票
1 回答
805 浏览

mysql - MySQL 作为 Linux (Ubuntu) 中 SQL Server 2008 的桥梁

在 Windows 中,SQL Server(或 MS Access)中有一个链接表功能。基本上,如果我链接 SQL-Server 和 MySQL,那么当我的应用程序在 SQL-Server 中编写某些内容时,MySQL 也会通过 ODBC 连接进行更新。

基本上流程是:win-apps -> sql-server 2008 -> (via win-odbc) mysql (linux)

现在我想将Linux环境中的过程反转为:

我想要的流程是:nix-apps -> mysql (linux) -> (via nix-odbc?) sql-server 2008 ...

这可能吗?

0 投票
0 回答
506 浏览

hibernate - Hibernate - 一个链接表中的多个关联(外键)

我的问题:

我想用hibernate在一个链接表中映射3个不同表的主键。

一张照片应该是什么样子:

http://postimage.org/image/uoqv1p7mz/

我管理它来保存对象,但我无法通过选择加载它。

首先我的课:

SysTenant.java:

系统用户.java:

SysRole.java:

SysTenantSysUserSysRoleAssociation:

为了测试对象是否被保存,我使用以下方法:

执行后,正确的对象 ID 被保存到数据库和链接表中。

这是我的问题:

如果我想选择持久的 sysUser 并接收角色和 Tennant HashSet,由 sysTennantSysUserSysRoleAssocion 表中的 ID 引用,代码如下:

列表保持为空。

选择是正确的还是我的模型中有任何其他错误?

如果有人可以帮助我,我将不胜感激。

谢谢,

0 投票
1 回答
32 浏览

foreign-keys - 链接表中的外键输入错误(错误 1005)

我试图一次将我的外键输入到我的链接表中。我首先创建了所有其他表,然后创建了链接表,我在链接表中添加了外键列(有效)。然后我去插入我的外键但它不起作用(顺便说一下我的其他表都没有外键)

它说

我点击详细信息,它出现了 INNODB [ 变量 | 缓冲池 | InnoDB 状态] 我单击变量,它在 3 项自动扩展增量、缓冲池大小、数据主目录旁边有一个问号

我很迷茫我只想能够创建外键请帮助我的外键插入代码

0 投票
1 回答
34 浏览

php - 如何使用链接表选择名称?

所以我检查一下是否允许您查看该文件夹(目前正在检查 ip 是否是我的家庭 ip)

我希望此检查更新为检查您的帐户是否拥有权利。所以我想从gallery_folders中获取所有名称,其中user_id =:user_id(是的pdo,但这无关紧要)

这就是我卡住的地方,我不知道如何添加user_id它,所以它只会得到所有(p.folder_id where user_id=:user_id)

如有必要,数据库结构:

文件夹

  • 画廊文件夹
    • ID
    • 姓名

用户

  • 画廊用户
    • ID
    • 用户名
    • 密码
    • 令牌

链接表

  • 画廊链接
    • ID
    • 用户身份
    • 画廊