我有以下实体:
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,为工作人员提供的版本号并不重要。我在数据库中保存了一个工作人员 ID = 1 的工作人员。
我该如何处理?为什么我应该给工人一个版本???是 nhibernate 确保工人被保存?为什么它应该这样做?