0

私は3つのクラスを持っています:

public class User
{
    ...
    public List<SerialHistory> SerialHistory { get; set;}
    ...
}

public class SerialHistory
{
    ...
    public DateTime DateAdded { get; set; }
    public SerialNumber SerialNumber { get; set; }
    ...
}

public class SerialNumber
{
    ...
    public User User { get; set; }
    ...
}

私がこれを行うとき、私はそれが本当に好きです:

user.SerialHistory.Add(new SerialHistory { 
                                            SerialNumber = serialNumber, 
                                            DateAdded = DateTime.Now 
                                         });

自動的に割り当てられますserialNumber.Useruser

これは可能ですか、それとも EntityFramework の機能を超えていますか?

4

1 に答える 1

1

いいえ、Entity Framework にはこれを保証する特別なオプションはありません。User.SerialHistorySerialNumber.Userは、2 つの異なる関係のナビゲーション プロパティです。あなたが持っているのは、データベース内の外部キー関係によって強制できない特別なビジネス ロジックであるため、Entity Framework とのマッピング (基本的に外部キー関係を表すだけ) によって強制することはできません。

あなたの最良の選択肢は、おそらく次の特別な方法ですUser

public void AddSerialNumber(SerialNumber serialNumber)
{
    serialNumber.User = this;
    SerialHistory.Add(new SerialHistory { 
                                            SerialNumber = serialNumber, 
                                            DateAdded = DateTime.Now 
                                        });
}
于 2013-04-12T21:29:33.927 に答える