我有各种各样的性别,地址类型,接触式等控制值查找数据的参考表许多表有多个外键参照下表多个外键同桌
我也有多对多关联表,这两个关联表具有两个到同一个表的外键。不幸的是,当这些表被拉入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