目前正在使用 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/