次の 3 つのテーブルを検討してください。
Client
- Id
Product
- Id
Invoice_Row
- Id
- LinkedObjectId
- LinkedObjectType
Invoice_row は、LinkedObjectId および LinkedObjectType フィールドを使用して上記のテーブルを参照します。次に例を示します。
Invoice_row ID = 1
- LinkedObjectId = 1 (meaning product id = 1)
- LinkedObjectType = 'Product'
Invoice_row ID = 2
- LinkedObjectId = 1 (meaning client id = 1)
- LinkedObjectType = 'Client'
ご覧のとおり、invoice_row には、他の 2 つのテーブルに対する動的キー (実際にはキーではないことを意味します) があります。最初に LinkedObjectType (どのテーブルを参照するか) を参照し、次に LinkedObjectId (参照されるテーブルの特定の ID) を参照して、他の 2 つのテーブルを参照します。
はい、これが悪いことだとわかっていますが、これは私が使用しなければならない従来のデータ モデルです。
次のように、これを通常の方法で (NH または EF のいずれかを使用して) 何らかの形でマッピングできる方法はありますか?
Client
Invoice_Rows
Product
Invoice_Rows
ありがとう!