我正在通過Visual FoxPro數據庫使用實體框架(我還沒有聽說過)。我遇到了使用數據註釋爲模型創建關係的問題。實體框架不同的外鍵數據類型
我已經簡化類:
public class Country
{
[Key]
public int Sid { get; set; }
[ForeignKey("ObjectId")]
public virtual ICollection<Heading> Headings { get; set; }
...
}
public class Heading
{
[Key]
public int Id { get; set; }
public string ObjectId { get; set; }
}
關係:一個國家有很多標題。 (一對多)
請注意Country
有一個Id,它是一個int
。而Heading
上的ObjectId
(外鍵)是string
。
我收到以下異常:
Country_Headings_Source_Country_Headings_Target:模型生成過程中檢測到
一個或多個驗證錯誤:在一個引用約束的從屬角色類型都 屬性必須是 與主體角色中相應的屬性類型相同。 實體「標題」上的屬性'Headingid'的類型不匹配 實體'國家'中屬性'Sid'的類型,參考 約束'Country_Headings'。
問題是數據類型不同。有什麼辦法可以讓我有這種關係嗎?
謝謝。
什麼是標題的主要關鍵? 它看起來好像你有一個外鍵不是一個鍵字段 –
@AntonyKoch標題的主鍵是'Id'。關係是國家的'Sid'到標題的'ObjectId'。我希望這是有道理的。 –