j'ai les entités suivantes:en NHibernate couramment, l'enregistrement d'un grand nombre à une entité, pourquoi je devrais donner une version à l'entité référencée
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;}
}
et j'utilise la cartographie automatique, parler couramment nhibernate. lorsque je tente de sauver le TransferOrder comme ceci:
TransferOrder order = new TransferOrder();
order.Worker = new Worker(){WorkerID = 1};
Session.Save(order);
mais dans la base de données, le workerID dans la table TransferOrder est NULL ??? mais quand je donne une version au travailleur, il est sauvegardé comme d'habitude?
TransferOrder order = new TransferOrder();
order.Worker = new Worker(){WorkerID = 1,Version = 1};
Session.Save(order);
avis qu'il n'a pas d'importance ce que le numéro de version est donnée au travailleur tant que ce n'est pas 0. et j'ai un travailleur enregistré dans la base de données avec workerID = 1.
comment peut je gère ça? pourquoi devrais-je donner une version à l'ouvrier? est le nhibernate s'assurant que l'ouvrier est sauvé ?? et pourquoi ça devrait faire ça?
Je crains que ce ne soit pas le cas, dans la table transferOrder, le WorkerID est une clé étrangère pour la table Worker. –
@Nour - peut-être la même chose s'applique aux clés étrangères, par exemple une insertion ne sera pas valide si la seule valeur insérée est une insertion dans un champ défini comme une clé? –
bien, comment puis-je m'assurer? Y a-t-il de la documentation sur cette situation? –