我有兩個類,ThreadItem和Inquiry。CodeFirst EF 4.1繼承 - 重命名PK/FK
public class ThreadItem
{
[Key]
public int Id { get; set; }
public DateTime Created { get; set; }
}
public class ThreadItemMapping : EntityTypeConfiguration<ThreadItem>
{
public ThreadItemMapping()
{
Property(a => a.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity).HasColumnName("ThreadItemId");
}
}
[Table("Enquiry")]
public class Enquiry : ThreadItem
{
public string Comment { get; set;}
}
現在,這工作,而不是一個單一的問題。我有一個[ThreadItem]表和一個[Inquiry]表。我的查詢表有一個映射到ThreadItem的PK/FK,這是我所需要的。但是,我想重命名該列。
目前它是[ThreadItemId],根據ThreadItemMapping類。我想重新命名它[EnquiryId]。我明白它被稱爲[ThreadItemId]是有道理的,這實際上更像是一個'可能'的問題。
任何想法?
乾杯, d
有趣的問題! EF 4.0實際上支持在Table-Per-Type繼承中將任意列名映射到基類的key屬性。 (你甚至可以在設計器中映射它。)但是它看起來DbContext API沒有選項來配置這個場景。鍵列名稱在所有派生類中必須相同。據我可以看到至少... – Slauma 2011-06-14 17:04:20