C# - 以编程方式识别 2 个表之间的关系类型

标签 c# orm

目前正在使用 GetOleDbSchemaTable 告诉我很多关于我的数据库表的信息。虽然 OleDbSchemaGuid.Foreign_Keys 参数告诉我有关表上的外键数据,但我无法从该数据推断出某些内容是否为 1:N、N:1、N:M 等。有什么办法可以得出这类信息吗?

最佳答案

正如 Jack 评论的那样,您可以知道架构是否返回列的唯一属性。

如果表 A 的外键在表 B 中是唯一的,那么它是一对一的关系。

如果它在表B中有唯一约束且主键在表B中,那么它是1对多。

如果 A 和 B 之间有一个表 C,其中 A\B 主键都是 C 中的外键,那么它是多对多关系。

关于C# - 以编程方式识别 2 个表之间的关系类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7178885/

相关文章:

c# - 如何在 Dapper 中使用 'Where In'

C# Mono/.NET差分CAD软件检索

c# - 自定义 404 错误消息 ASP.NET Visual Studio

java - 哪个 Android/Java ORM 像 Hibernate 一样使用 “object caching”?

c# - BackgroundWorker如何决定在哪个线程上运行RunWorkerCompleted处理程序?

如果项目在层次结构中处于非事件状态,则触发 C# if 条件

php - 无法检索数据 laravel4(oneToMany)

c# - 在 QueryOver 中

java - 三路 hibernate ORM 映射 - 如何?

java - Spring 冷冻应用