Yes, I agree, the source of my problem was using WCF inferred contracts and the AddedOn property not being serialized because it is protected. NHibernate has nothing to do with this. Thanks for the input.
On Apr 27, 3:10 pm, "[email protected]" <[email protected]> wrote: > Protected setters map just fine without any special naming conventions > or mapping. > > On Apr 27, 2:20 am, MSD <[email protected]> wrote: > > > > > Can we map a property that has a protected (or even private) setter. > > Do we have to change the naming strategy and have a separate member > > for the property? In the documentation I read: "Properties need not be > > declared public - NHibernate can persist a property with an internal, > > protected, protected internal or private visibility." so what exactly > > does that mean? > > > Here is an example class: > > > public class Candidate > > { > > virtual public string Number { get; set; } > > virtual public DateTime AddedOn { get; protected set; } > > virtual public Template Template { get; set; } > > virtual public string ZoneName { get; set; } > > virtual public DateTime LastActivity { get; set; } > > > protected Candidate() > > { > > > } > > public Candidate > > (string number, TemplateType candidateFor, DateTime > > addedOn, string zoneName) > > { > > this.Number = number; > > this.AddedOn = addedOn; > > this.ZoneName = zoneName; > > } > > public override bool Equals(object obj) > > { > > Candidate that = obj as Candidate; > > if (that == null) return false; > > return this.Number.Equals(that.Number); > > } > > public override int GetHashCode() > > { > > return this.Number.GetHashCode(); > > } > > } > > > and here is an example mapping: > > > <?xml version="1.0" encoding="utf-8" ?> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > assembly="MNP_Contracts" namespace="MNP_Contracts"> > > <class name="Candidate" table="Candidates" dynamic-update="false" > > lazy="false"> > > <id name="Number" column="Number"> > > <generator class="assigned" /> > > </id> > > <property name="AddedOn" column="AddedOn" /> > > <property name="ZoneName" column="ZoneName" /> > > <property name="LastActivity" column="LastActivity" /> > > <many-to-one name="Template" column="TemplateID" /> > > </class> > > </hibernate-mapping> > > > the AddedOn property is not being set when NHibernate hydrates the > > object. > > > -- > > You received this message because you are subscribed to the Google Groups > > "nhusers" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/nhusers?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group > athttp://groups.google.com/group/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
