我使用EF Code First類。使用POCO類定義鏈接實體
我有一個實體命名爲Request
:
public class Request
{
[Key]
public virtual int RequestID { get; set; }
...
}
我需要鏈接Request
對方。
例如:
,如果我們有如下定義的2個鏈接:
- 請求ID 1被鏈接到請求ID 2
- 請求ID 1被鏈接到請求ID 3
THEN ...
如果我們要求將請求連接:
- (A)爲1:結果是2,3
- (B)爲2:結果是1,3-
- (C)爲3 :結果是1,2
說明:
- 對於(A)這是很容易找到的結果,因爲該鏈接是 「直接」
- 對於(B)和(C),這有點複雜,因爲鏈接是通過遵循'路徑'通過1來檢索的。我不知道我是否清楚。
我的問題:什麼是定義鏈接模型類的最好方法?之後,如何查詢(LINQ)這些模型類來檢索如上所示的結果?
起初,我以爲下面的鏈接模型類:(不知道這是不是一個好主意)
public class RequestLinked
{
[Key, Column(Order = 0)]
[ForeignKey("Request")]
public int RequestID { get; set; }
[Key, Column(Order = 1)]
[ForeignKey("RequestRelated")]
public int RequestRelatedID { get; set; }
public virtual Request Request { get; set; }
public virtual Request RequestRelated { get; set; }
}
你能給我解釋一下你的解決方案嗎?不管怎麼說,還是要謝謝你。 – Bronzato
我弄錯了......我會編輯答案 –
看看代碼中的註釋;這種關係適合你的情況? –