c# - 如何将常量传递给外键属性?
问题描述
我有一个带有复合键和复合外键的模型。是否可以将常量而不是列名传递给外键注释?
当前型号:
[Table("PBDS.INTERACTIONS")]
public partial class Interaction
{
// NOTE: The primary key for the INTERACTIONS table is a composite key
// consisting of:
// - ACCOUNT_ID
// - CONTACT_DATE
// - CONTACT_SEQ
// - PAGE
[Key]
[Column("ACCOUNT_ID", Order = 0)]
public int ACCOUNT_ID { get; set; }
[Key]
[Column("CONTACT_DATE", Order = 1)]
public DateTime CONTACT_DATE { get; set; }
[Key]
[Column("CONTACT_SEQ", Order = 2)]
public int CONTACT_SEQ { get; set; }
[Key]
[Column("PAGE", Order = 3)]
public int PAGE { get; set; }
[ForeignKey("ACCOUNT_ID,CONTACT_DATE,CONTACT_SEQ,PAGE,DATA_VALUE")]
public InteractionData InteractionData { get; set; }
}
DATA_VALUE 将始终是我的目的的常数。理想情况下,我希望我可以有这样的外键设置:
所需型号:
[Table("PBDS.INTERACTIONS")]
public partial class Interaction
{
// NOTE: The primary key for the INTERACTIONS table is a composite key
// consisting of:
// - ACCOUNT_ID
// - CONTACT_DATE
// - CONTACT_SEQ
// - PAGE
[Key]
[Column("ACCOUNT_ID", Order = 0)]
public int ACCOUNT_ID { get; set; }
[Key]
[Column("CONTACT_DATE", Order = 1)]
public DateTime CONTACT_DATE { get; set; }
[Key]
[Column("CONTACT_SEQ", Order = 2)]
public int CONTACT_SEQ { get; set; }
[Key]
[Column("PAGE", Order = 3)]
public int PAGE { get; set; }
[ForeignKey("ACCOUNT_ID,CONTACT_DATE,CONTACT_SEQ,PAGE,<Net_Cost_Constant_String>")]
public InteractionData NetCost { get; set; }
[ForeignKey("ACCOUNT_ID,CONTACT_DATE,CONTACT_SEQ,PAGE,<Airing_Phone_Constant_String>")]
public InteractionData AiringPhone { get; set; }
[ForeignKey("ACCOUNT_ID,CONTACT_DATE,CONTACT_SEQ,PAGE,<RepFirm_Constant_String>")]
public InteractionData RepFirm { get; set; }
[ForeignKey("ACCOUNT_ID,CONTACT_DATE,CONTACT_SEQ,PAGE,<Week_Day_Constant_String>")]
public InteractionData WeekDay { get; set; }
}
请注意, DATA_VALUE中有 130 个唯一值,但我只想要此处列出的 4 个。
这可能吗?也欢迎替代方法。
解决方案
推荐阅读
- python - GUI重复输入数据和刷新输入数据
- sql - SQL Server 数据库列以保持“注释”的运行列表
- alloy - 为什么 Alloy-as-Markdown 搜索 ModuleNameg.md 而不是 ModuleName.md 给定打开的 ModuleName?
- php - 在 PHP 或 XAMPP 中找不到 Firebird 驱动程序
- firebase - 我想从我的 Firestore 中获取文档 ID
- ssl - 无法让 Guzzle 接受证书
- javascript - 新的 Redux 商店隐身
- pagespeed-insights - 更改后不更新的速度见解
- java - Corda - 缺少 postgres 数据库驱动程序 (postgresql-42.2.8.jar)
- python - 无法在项目文件夹中激活我的 virtualenv,我得到了 dest 所需的错误参数。(Windows 10,Powershell)