我有各種各樣的性別,地址類型,接觸式等控制值查找數據的參考表許多表有多個外鍵參照下表多個外鍵同桌
我也有多對多關聯表,這兩個關聯表具有兩個到同一個表的外鍵。不幸的是,當這些表被拉入Linq模型並生成DBML時,SQLMetal不會查看外鍵列的名稱或約束的名稱,而只能在目標表上查看。所以我最終得到了名爲Reference1,Reference2的成員... ...不是非常易於維護。例如:
<Association Name="tb_reference_tb_account" Member="tb_reference" <======
ThisKey="shipping_preference_type_id" OtherKey="id" Type="tb_reference"
IsForeignKey="true" />
<Association Name="tb_reference_tb_account1" Member="tb_reference1" <======
ThisKey="status_type_id" OtherKey="id" Type="tb_reference"
IsForeignKey="true" />
我可以進入DBML和手動更改成員名稱,當然,不過這將意味着我不能再來回我的數據庫架構。在模型的當前階段,這不是一種選擇,該模式仍在發展中。 將參考表拆分爲n個單獨的表格也不可取。
我大概可以編寫一個腳本,在每一代之後運行XML,並用從ThisKey派生的東西替換成員名稱(因爲我遵守這些類型的鍵的命名約定)。 有沒有人找到解決這個問題的更好方法?
這似乎是相關的: http://stackoverflow.com/questions/3736003/sqlmetal-multiple-foreign-keys-pointing-to-one-table-issue – DenNukem 2012-04-03 16:14:08