0
說我們有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是在表1和表2中的主鍵,這就是它!
現在,我想創建一個關係(不在數據庫!);我只是想對EntityFramework說謊,這兩個表之間存在關係。
所以,我想從表2 ID2是外鍵和參考不列ID從表1 ,但列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; }
//...
}
我成功地擴大了所有表2行一定表1的行。
sql的連接將如下所示:Table1。 ID = Table2.ID2; 我需要它像Table1。 ID2 = Table2.ID2
這對我沒有任何意義。你爲什麼要「撒謊」,並有這樣的假關係? – mr100
因爲我處理的模型...有一個表提供這些假關係,這個表經常改變。因此,在控制檯應用程序中,只要此表更改,就會生成模型。閱讀edit2 – RazvanR