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

时间:2011-08-24 16:21:15

标签: c# orm

目前使用 GetOleDbSchemaTable 告诉我有关数据库表的大量信息。虽然 OleDbSchemaGuid.Foreign_Keys 参数告诉我关于表上的外键数据,但我无法从该数据推断出是否有1:N,N:1,N:M等。有什么办法可以推导出这类信息吗?

1 个答案:

答案 0 :(得分:1)

正如Jack所说,您可以知道架构是否返回列的唯一属性。

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

如果表B中有一个唯一约束,表B中有主键,那么它的1到多个。

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