2

各列名とデータ型を取得し、列が外部キーであるかどうかを確認してから、その関係のキーテーブルを照会したい!!! できましたか?? 3日間グーグルで検索しましたが、マッピングモデルまたはリフレクション、またはその両方を使用する必要があることはわかっていますが、できません。

私が仮定する必要があるものを単純化します:

  1. iterate TABLE1 Columns は、外部キーである場合は各列をチェックします (データ型も取得します)

  2. 関連付けられたテーブル (TABLE0) を決定するためのリレーションを取得します。

  3. 主キー テーブル (TABLE0) を取得する

4

1 に答える 1

1

わかりました各外部キーの型と関連するテーブル クラスの型を返す関数を作成します

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 変数からクラスのインスタンスを作成する方法を意味しますか?

于 2013-02-01T22:04:27.007 に答える