2010-08-29 8 views
2

J'utilise NHibernate 2.2 pour ma base de données de travail et j'ai rencontré un problème récemment. J'ai une classe appelée PrescDrugItem qui est illustré ci-dessousnhibernate pour enregistrer seulement les propriétés requises

public class PrescDrugItem 
{ 
    public virtual int ItemNumber { get; set; } 

    [DataMember] 
    public virtual int AmountIssued { get; set; } 

    [DataMember] 
    public virtual string TimePeriod { get; set; } 
} 

suivant est le fichier de mappage

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
       assembly ="DataContractsLib" 
       namespace="DataContractsLib.Prescription" > 

    <class name="PrescDrugItem"> 
    <id name="ItemNumber" type="Int32"> 
     <generator class="native" /> 
    </id> 
    <property name="AmountIssued" type="Int32" /> 
    <property name="TimePeriod" type="String" length="30" /> 
    </class> 

mon problème est, maintenant je dois ajouter une autre propriété à l'élément de classe (par exemple ItemTradeName etc), mais je ne veux pas qu'il soit enregistré dans la base de données (parce que je veux utiliser cette nouvelle propriété pour stocker des données temporaires). J'ai essayé update = false et insert = false dans le fichier de mappage mais aucun succès pour le moment. Pourriez-vous me dire s'il vous plaît, est-ce que c'est possible? Je vous remercie.

Répondre

3

Si cela ne doit pas être extrait de la base de données, ajoutez-le simplement comme une propriété normale de votre classe et ne le mappez pas.

+0

merci de répondre Neil, mais je pensais que cela crée un autre problème lors de l'enregistrement de l'objet avec la propriété nouvellement ajouté? parce que le nhibernate ne connaît pas la propriété (pas d'entrée dans la cartographie). J'ai juste testé du code et ça a l'air de très bien fonctionner :) – Nadun