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

C#-以编程方式标识两个表之间的关系类型,c#,orm,C#,Orm,目前正在使用GetOleDbSchemaTable告诉我有关数据库表的许多信息。而OleDbSchemaGuid.Foreign_Keys参数告诉我关于表上的外键数据,我无法从该数据推断是否有1:N、N:1、N:M等。我有没有办法得到这类信息 正如Jack所评论的,您可以知道模式是否返回列的唯一属性 如果表A中的外键在表B中是唯一的,则它是1对1关系 如果它在表B中有一个唯一的约束,主键在表B中,那么它的1对多 如果a和B之间有一个表C,其中a\B两个主键都是C中的外键,那么它是一个多对多关系。

目前正在使用GetOleDbSchemaTable告诉我有关数据库表的许多信息。而OleDbSchemaGuid.Foreign_Keys参数告诉我关于表上的外键数据,我无法从该数据推断是否有1:N、N:1、N:M等。我有没有办法得到这类信息

正如Jack所评论的,您可以知道模式是否返回列的唯一属性

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

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


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

您能否确定外键引用的列是否在被引用的表上形成唯一索引?如果可以的话,你可以扣减。