[英]Can I have navigation properties based on certain fields (not primary keys!, unique or foreign keys)?
說我們有2張桌子
public class Table1
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
public class Table2
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
列ID是Table1和Table2中的主鍵,僅此而已!
現在,我想創建一個關系(不在數據庫中!); 我只想對EntityFramework說謊,這2個表之間存在關系。
因此,我希望將Table2中的ID2用作外鍵,而不是引用Table1中的 列ID ,而是引用ID2列 。
那可能嗎?
EDIT2
我知道可能是這樣
public class Table2
{
//...
public int ID2 { get; set; }
[ForeignKey("ID2")]
public Table1 Table1 { get; set; }
//...
}
和
public class Table1
{
//...
public virtual ICollection<Table2> Table2 { get; set; }
//...
}
我成功地將所有Table2行擴展為某個Table1行。
sql的聯接將類似於:Table1。 ID = Table2.ID2; 我需要像表1一樣。 ID2 =表2.ID2
最后,我為A表創建了2個視圖,並將這些視圖映射到EF實體。 第一個視圖以ID作為主鍵,第二個視圖以ID2作為主鍵。 顯然,第二個視圖是用於擴展所有Table2行的視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.