2011-08-24 54 views
4

当前使用GetOleDbSchemaTable告诉我关于我的数据库表的很多信息。虽然OleDbSchemaGuid.Foreign_Keys参数告诉我有关表上的外键数据,但我无法从这些数据推断出是否有1:N,N:1,N:M等。有什么办法可以导出这种类型的信息?C# - 以编程方式确定两个表之间的关系类型

+2

您可以确定外键引用在引用表上构成唯一索引的列吗?如果你可以,那么你可以作出扣除。 – Jack

回答

1

由于杰克评论说你可以知道模式是否返回列的唯一属性。

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

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

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

相关问题