假设我有一个类似的数据模型:
dbo.Application
{
int Id { get; set; }
int ClientAlternateId { get; set; }
...
public virtual Client Client { get; set; }
}
dbo.Client
{
int Id { get; set; }
int AlternateId { get; set; }
string Name { get; set; }
...
}
两个表上的主键都是Id
列。 Application
类型通过其Client
列(不是密钥)与AlternateId
表关联。此列中的数据始终是唯一的。
有没有办法让实体框架映射这个?我不相信我能用:
HasRequired(t => t.Client).WithMany().HasForeignKey(c => c.ClientAlternateId);
因为该字段不是主键。