我想創建一個外鍵在一個類,B,到另一個類的ID,答:問題是,我無法驗證A的對象的ID直到附近當我的所有B實例已經創建時,程序結束。我希望能夠通過引用A對象的id來實例化B的對象,這樣當A對象的id發生變化時,B中外鍵的值也會變化。我知道我不能這樣做直接在C#中使用「不安全」模式,所以我一直在尋找替代方法。作爲最後的手段,我可以通過所有B對象完成一個循環,但B實際上有許多不同的類和對象,並且有足夠多的我更喜歡更有效的解決方案。C#尋找一個指針解決方法
下面是我需要的邏輯的一個粗略示例。
using System;
namespace sandbox
{
public class A
{
public int ID;
public A(int id)
{
ID = id;
}
}
public class B
{
public int reftoAID;
public B(int id)
{
reftoAID = id;
}
}
public class TestMain
{
static void Main()
{
A a = new A(1);
B b = new B(a.ID);
a.ID = 3;
Console.WriteLine(b.reftoAID); //prints 1, but I need 3
Console.ReadLine();
}
}
}
我曾嘗試創建與持有的ID一個int屬性的包裝類,但我一直無法弄清楚如何使用linqtodb得到它到數據庫中。我以爲我可以只定義一個(int)強制轉換,但這不起作用。從我可以告訴,linqtodb使用System.Data.DbType枚舉來確定類型,我不知道是否有方法在查找之前進行轉換。
我正在尋找新的方法來解決這個問題,或者以這樣一種方式來轉換包裝類,使得它可以寫入數據庫。
爲什麼不只是在'B'類中添加對'A'的引用? –
你能否詳細說明一下?我嘗試過使用裁判,但據我所知,裁判範圍有限。 – user3747260
不是'ref' - 只是一個參考。我會暫時回覆。 –