我想检索每个列名和数据类型,然后检查列是否是外键,然后查询该关系的键表!!!可以做吗??我用谷歌搜索了 3 天,我知道我必须使用映射模型或反射或两者,但我做不到。
我将简化我需要的假设: TABLE1 hase 外键(COL3)指的是 TABLE0 中的主键(COL1):
迭代 TABLE1 列检查每个列是否是外键(也获取其数据类型)
获取关系以确定关联表(TABLE0)
检索主键表 (TABLE0)
我想检索每个列名和数据类型,然后检查列是否是外键,然后查询该关系的键表!!!可以做吗??我用谷歌搜索了 3 天,我知道我必须使用映射模型或反射或两者,但我做不到。
我将简化我需要的假设: TABLE1 hase 外键(COL3)指的是 TABLE0 中的主键(COL1):
迭代 TABLE1 列检查每个列是否是外键(也获取其数据类型)
获取关系以确定关联表(TABLE0)
检索主键表 (TABLE0)
我知道了,我做了一个函数,返回每个外键的类型和相关的表类类型
Private Function GetForeignKeyTables(ByVal myTableType As Type) As List(Of myForeignKeys)
Dim myDx = New Tester.DataClasses1DataContext
Dim mymodel As New AttributeMappingSource
Dim myAsociations = mymodel.GetModel(GetType(DataClasses1DataContext)).GetTable(myTableType).RowType.Associations
Dim asc = From m In myAsociations Where m.IsForeignKey
Select New myForeignKeys With {.KeyDataType = m.ThisKey.First.DbType, .RelatedTableType = m.OtherType}
Return asc.ToList
End Function
Private Class myForeignKeys
Property KeyDataType As String
Property RelatedTableType As MetaType
End Class
但我仍然需要从那些相关表中检索数据。
我的意思是如何从其 MetaType 变量创建类的实例?