Hi,

In my application I want to do the following:
public enum State
{
    Writable,
    Readonly
}

public class DomainObject
{
    private string _name;
    public DomainObject() { }
    public int Id { get; private set; }
    public State State { get; set; }
    public string Name
    {
        get { return _name; }
        set
        {
            CheckState();
                _name = value;
        }
    }
    private void CheckState()
    {
        if (State != Status.Bewerken)
            throw new NotSupportedException("You can't do this in
readonly mode");
    }
}

So in almost every setter that I want to check I will do this check.
I can save this object with the following mapping file:

<hibernate-mapping assembly="Domain"
                   default-cascade="save-update"
                   default-lazy="false"
                   namespace="Domain"
                   xmlns="urn:nhibernate-mapping-2.2">
  <class name="DomainObject">
    <id name="Id" type="int">
      <generator class="sequence" />
    </id>
    <property name="State" />
    <property name="Name" />
  </class>
</hibernate-mapping>

But when I have saved the DomainObject with a Readonly state I can't
load it correctly because the state will prevent this.
Of course I can solve this by mapping it to the field instead of the
property, but I was wondering whether it is possible to do it another
way, for example giving the object an initialization state which will
prevent the CheckState method from throwing the exception...

Any ideas?

David
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to