Good day,
I'm having an issue where I'm trying to map a private member of a
class which happens to have a non-virtual public setter Property. I
noticed that even if I set the access="field" attribute in the
property tag in the mappings file, as long as NHibernate sees my
public setter property, it gives an InvalidProxyTypeException. If i
make my setter property private or virtual public, then everything
works as planned.
I'm curious though, isn't NHibernate supposed to ignore properties if
I specify access="field"? I also tried nosetter and got the same
behavior. Also tried specifying the name strategy and same result.
Code snippets below:
Mapping:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="DomainModel" namespace="DomainModel">
<class name="Test" table="test" lazy="true" proxy="Test">
<id name="id" column="id" type="int" access="field.lowercase-underscore">
<generator class="sequence">
<param name="sequence">test_id_seq</param>
</generator>
</id>
<property name="_problematicfield" column="problematicfield"
type="string" length="50" access="field" not-null="true" />
</class>
</hibernate-mapping>
Class:
public class Test
{
public Test () {}
private int _id;
private string _problematicfield;
public string ProblematicField
{
set
{
_problematicfield =DoSomethingInteresting(value);
}
}
}
--
------------------------------------------------------------------
Enrique Ramirez Irizarry
Lead Developer, CodaBytes Consulting Group
http://www.Codabytes.com
Personal Page: http://www.indiecodelabs.com
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---