我有一个参考表,其中包含性别、地址类型、联系人类型等的各种受控值查找数据。许多表对此参考表有多个外键
我还有一个多对多关联表,它们有两个外键指向同一个表。不幸的是,当这些表被拉入 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 的名称替换成员名称(因为我遵守这些类型的键的命名约定)。有没有人找到更好的解决这个问题的方法?