私は次のエンティティを持っています:
public class Worker
{
public int WorkerID {get;set;}
public string Name { get;set;}
public int version { get;set;}
}
public class TransferOrder
{
public int TransferOrderID { get;set;}
public Worker workerTobeTransfered{get;set;}
public int version { get;set;}
}
そして私は流暢なnhibernateで自動マッピングを使用しています。次のようにTransferOrderを保存しようとすると:
TransferOrder order = new TransferOrder();
order.Worker = new Worker(){WorkerID = 1};
Session.Save(order);
しかし、データベースでは、TransferOrderテーブルのworkerIDはNULLですか?しかし、私がワーカーにバージョンを与えると、それは通常どおりに保存されますか?
TransferOrder order = new TransferOrder();
order.Worker = new Worker(){WorkerID = 1,Version = 1};
Session.Save(order);
0でない限り、ワーカーにどのバージョン番号を付けるかは重要ではないことに注意してください。また、workerID=1でデータベースにワーカーを保存しています。
どうすればこれを処理できますか?なぜワーカーにバージョンを提供する必要があるのですか?nhibernateはワーカーが保存されていることを確認していますか?そしてなぜそれがそれをするべきなのか?