linq – 同一个表的多个外键
|
我有一个参考表,其中包含性别,地址类型,联系人类型等各种受控值查找数据.许多表具有此参考表的多个外键 我还有多对多关联表,它有两个外键到同一个表.不幸的是,当这些表被拉入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并手动更改成员名称,但这意味着我不能再遍历我的数据库模式.在模型的当前阶段,这不是一个选项,它仍在不断发展. 我可能会编写一个在每次生成后针对XML运行的脚本,并用从ThisKey派生的内容替换成员名称(因为我遵守这些类型的键的命名约定). 解决方法所以我走了部分班路线.例如,我添加了以下成员来解决原始示例中的第一个引用成员:public partial class tb_account
{
public tb_reference shipping_preference_reference
{
get
{
return this._tb_reference.Entity;
}
set
{
this.tb_reference = value;
}
}
这远非完美.它需要大型模型中的大量额外代码,并且取决于属性的顺序不变(如果将参考表的另一个外键添加到帐户表中,该成员实际上可能指向除了运输偏好).也有好处.由于我已经为其他目的编写了部分类,因此添加这些成员并不需要我重新构建应用程序. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQL Server sql 语句 取数据库服务器上所有数据库的名字
- 数据库设计 – 一个表中有数十亿条记录?
- sql – 查询中的Laravel concat(where条件)
- sql-server – EF:文本数据类型不能被选择为DISTINCT,因为
- sql-server – 在SQL Server 2008中的符号之前的字符串中隔
- 数据表选择具有多个条件的SQL Query问题
- tsql – SQL Server中基于FIFO的库存库存评估
- sql 左连接和右连接的使用技巧(left join and right join)
- sql – MS-Access – SELECT AS ORDER BY =错误
- sql – Oracle将多个列合并为一个
