У меня есть следующие объекты:
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);
но в базе данных workerID в таблице TransferOrder равен NULL ???
но когда я даю версию работнику, она сохраняется как обычно?
TransferOrder order = new TransferOrder();
order.Worker = new Worker(){WorkerID = 1,Version = 1};
Session.Save(order);
обратите внимание, что не важно, какой номер версии дается работнику, если он не равен 0.
и у меня есть работник, сохраненный в базе данных с workerID = 1.
как я могу справиться с этим? почему я должен дать версию работнику? nhibernate гарантирует, что работник спасен ?? и почему он должен это делать?