我想要連接在一個id(實數列)和註釋類型(字符串)上。以下示例不起作用,但應表明我的意圖。是否有可能在實體框架中有一個常量字符串作爲外鍵
public class Something
{
[Key]
[Column(Order=1)]
public long Id { get; set; }
[Key]
[Column(Order = 2)]
// Does this have to be in the database?
public string CommentType = "Something-type-comment";
[ForeignKey("CommentRecordId,CommentType")]
public Comment Comment { get; set; }
}
public class Comment
{
[Key]
[Column(Order=1)]
public long CommentRecordId { get; set; }
[Key]
[Column(Order=2)]
public string CommentType { get; set; }
}
當這個被轉換爲SQL我想它翻譯成類似於下面的東西。
SELECT * from Something s
JOIN Comment c ON
s.Id = c.CommentRecordId
and
c.CommentType = 'Something-type-comment'; --there is no corresponding field in Something table
編輯: 另外順便說一下,當我嘗試這樣說,我得到了下面的錯誤。 「 」關係約束中的相關和主體角色中的屬性數量必須相同。「
問題是什麼?請閱讀http://stackoverflow.com/help/how-to-ask –
標題是問題。 「在實體框架中是否有可能將字符串作爲外鍵?」 – matthewdaniel
此外,屬性CommentType上面的註釋應顯示在示例中我要求的內容 – matthewdaniel